Barcelona were held to a 2-2 draw at promoted Almeria in the Primera Liga on Sunday as they failed to make the most of leaders Real Madrid’s 1-0 defeat away to Deportivo Coruna on Saturday.
Bojan Krkic and Samuel Eto’o put Barca on course to cut Real’s lead to five points, but after they had Gabriel Milito sent off late on, Almeria grabbed an 85th-minute equaliser through Kalu Uche.
Real have 62 points, seven ahead of second-placed Barca on 55, while Villarreal climbed to 53 after they overcame Real Zaragoza 2-0 at home.
Building on their 2-1 win at the Nou Camp last weekend, Turkish striker Nihat Kahveci gave Villarreal an early lead and Italian striker Giuseppe Rossi made sure of the points from the penalty spot in the second half.
But much of the credit must go to their goalkeeper Diego Lopez who denied Zaragoza on numerous occasions.