Barcelona allowed the gap between themselves and great rivals Real Madrid to widen to seven points after being held to a 0-0 draw by Villarreal at El Madrigal.
The Catalans may have ended Madrid's defence of the Copa del Rey on Wednesday night but their chances of holding onto their league title appear slim after another frustrating evening on their travels.
Cesc Fabregas hit the bar in the second half, while Villarreal defended admirably and goalkeeper Diego Lopez made a number of key saves. Ultimately, against a side battling relegation, Pep Guardiola's side were unable to match Madrid's earlier victory over Real Zaragoza.
Poor away form has dogged Barcelona all season in La Liga - they had won only four in nine prior to kick-off - and Guardiola's side again looked somewhat unconvincing at El Madrigal.
Lionel Messi - flanked by the unfamiliar figures of Adriano and Dani Alves due to injuries in the Barca squad - was also under par and wasted an early chance when volleying wildly off target after he had cleverly dinked the ball over his marker.
After Gerard Pique had called Lopez into action with a firm header from a corner, Messi was presented with an even more inviting chance. Alves picked him out with a superb pass and the forward let the ball run before lifting it over Lopez. It was the kind of finish he usually executes so perfectly but the ball bounced just wide of the far post.
Having held off Barca's early advances, lowly Villarreal grew in confidence. Just before the half-hour mark, Victor Valdes collided with Pique when trying to punch clear from a free kick and the ball flew towards goal, forcing Javier Mascherano to make a brave clearance on the line before Eric Abidal blocked the follow-up shot.
Barca were exposed one again on 35 minutes when Cani opened up their defence with a masterful ball over the top for Marco Ruben. However, the striker put his foot through the ball and smacked it high over the bar after holding off Carles Puyol.
Marcos Senna was then denied by an acrobatic save from Valdes before, from the following corner, an offside flag denied Gonzalo as he headed into the Barcelona goal.
Barcelona were struggling to display their usual precocity, although before half time Messi did produce one staggering pass with his toe to find Fabregas, who ruined the chance when taking a heavy touch.
Within three minutes of the restart Villarreal should have had the chance to take the lead. Valero broke away from Sergio Busquets in the box and drew the Barcelona midfielder into a clumsy challenge which mysteriously was not punished with a penalty.
Both Barca and Messi continued to struggle in the second half and Guardiola introduced Alexis Sanchez on the hour mark to try and inject some more impetus into his team. It was Pique who was replaced, prompting a reshuffle, and the defender had an ice pack strapped to him after leaving the pitch.
Chances were still few and far between, with Villarreal defending admirably, and on 76 minutes Guardiola made two further changes when bringing on striker Cristian Tello and midfielder Thiago for Adriano and Xavi.
Tello almost made an immediate impact. He did superbly well to hold onto the ball into the box and then fed Fabregas with a neat pass. The midfielder took a touch and saw his shot take a deflection before being turned against the bar by a magnificent reaction save from Lopez. Sanchez tried to convert from the rebound but threw himself to ground under contact from Gonzalo in a failed attempt to win a penalty.
Tello then forced Gonzalo to haul him to the ground with a frankly ridiculous challenge as he threatened to wriggle free on the right. The defender was rightly booked, with the incident sparking no little debate given Gonzalo had been credited, incorrectly it transpired, with a yellow card in the first half by the TV director.
Barcelona seemed finally to hit their stride in the closing stages and Messi and Sanchez exchanged passes before the Argentina international was denied by another great save by Lopez, this time down low to his right.
Villarreal's resistance remained unbroken as the final whistle blew, possibly marking a highly significant moment in the balance of power in Spanish football.
Espanyol and Athletic Bilbao are fifth and sixth in the table after both won earlier in the day.
Espanyol recovered from their shock quarter-final Copa del Rey exit during the week to tiny Mirandes, of Spain's third tier, to beat 10-man Real Mallorca 1-0 at home.
Vladimir Weiss capitalised on an error from Mallorca's Israeli goalkeeper Dudu Aouate to put the Catalans in front after 18 minutes, but they failed to make the extra man count when Aouate was harshly sent off just after the break.
Spain striker Fernando Llorente scored a hat-trick as Copa semi-finalists Athletic Bilbao came from behind to win 3-2 in a pulsating encounter at Rayo Vallecano.
The powerful frontman headed the equaliser, controlled a long ball and turned his marker to put them 2-1 up, and his headed winner was his 11th league goal this season.
Source: Yahoo Sport