Zlatan Ibrahimovic spelade från start, men var inte inblandad i ledningsmålet. Han gjorde överhuvudtaget en blek figur och verkade frustrerad i många situationer.
Svenskens anfallskollega Thierry Henry inledde däremot vasst, sköt på halvvolley från straffområdesgränsen, och prickade klockrent i överliggaren.
Pedro var snabbt framme och den hårda returen formligen klistrades mot anfallarens bröst. Sedan behövde han bara rulla in ledningsmålet, bakom en chanslös målvakt.
Men Villarreal åt sig in i matchen allt mer. Fem minuter in i andra halvlek kom kvitteringen välförtjänt. Efter det var det snarare de gula gästerna som kunde ha plockat tre poäng.
Utöver ett illa förvaltad friläge från Ibrahimovic hade Barcelona bara en handfull halvdana chanser och övertygade inte. Till svenskens försvar ska dock sägas att domaren, vid missen, redan blåst av spelet för offside.
Barcelonas två tappade poäng ger nu Real Madrid möjlighet att minska glappet mellan lagen. Men då måste Madridlaget vinna mot Osasuna på söndagen.
Se klipp från matchen här ovanför eller till höger om artikeln.