Barcelona came through a testing local derby at Espanyol, winning 3-0 to cling to their slender lead at the top of La Liga after rivals Real Madrid had set the challenge by beating Valencia 2-1 in the earlier kick-off.
Barca triumphed thanks to two clinical finishes from Luis Suarez and a strike from Ivan Rakitic following a vintage slalom run by Lionel Messi.
Suarez pounced on a disastrous backpass from Jose Manuel Jurado to break the deadlock in the 50th minute and Rakitic sealed the win in the 76th by side-footing home Messi's cutback after the Argentine had torn through the home defence.
Suarez, who had failed to score in his previous five games in all competitions, took advantage of another calamitous error by the otherwise impressive Espanyol backline and rifled in Barca's third from close range in the 87th minute.
The pressure was on Barca after Real Madrid had beaten Valencia 2-1 earlier in the day to provisionally lead the standings, and the champions got an early fright when Jurado eased into their area but fired wide of the far post.
Espanyol's good organisation then went to waste when Jurado gifted the ball to Suarez, who knocked it past former Real Madrid goalkeeper Diego Lopez with an effortless flick of the outside of his right boot to send the champions on their way.
Barca top the standings on 81 points due to their superior head-to-head record over Real, who also have 81 and have a game in hand.
Marcelo came to Real Madrid's rescue four minutes after his side had conceded a potentially crucial Valencia equaliser, from Dani Parejo, that could have seriously dented their hopes of landing a first title since 2012.
[caption id="attachment_60669" align="aligncenter" width="640"]
Real Madrid's Marcelo celebrates after scoring the winning goal against Valencia REUTERS
Cristiano Ronaldo scored his first goal in five league games to put Real ahead in the 27th minute but in the second half had a penalty saved by Diego Alves, who turned away a league-record sixth spot kick of the campaign.
Valencia had given Real a scare when Santi Mina hit the woodwork in the opening minute and the visitors pulled level in the 82nd minute with a thumping free kick from Parejo, the former Real academy player, who had fouled Luka Modric for the penalty.
Marcelo promptly grabbed the winner, cutting inside from the left-hand side of the area and curling the ball under Alves with his right foot, as Real's title bid benefited from yet another crucial late goal.
Atletico Madrid warmed up for their Champions League semi-final first leg against Real by hammering Las Palmas 5-0 away with two goals from Kevin Gameiro and strikes from Saul Niguez, Thomas Partey and Fernando Torres.
It was not all plain sailing for Diego Simeone's side, however, as they lost Jose Gimenez to injury, adding to the absences of fellow defenders Juanfran and Sime Vrsaljko for Tuesday's short trip to the Santiago Bernabeu.
[caption id="attachment_60670" align="aligncenter" width="640"]
Atletico Madrid's Kevin Gameiro celebrates scoring REUTERS
Granada's run of six consecutive seasons in La Liga ended following a 2-1 defeat at Real Sociedad, leaving Tony Adams's side 10 points adrift of safety with three games left. They join basement club Osasuna in the Segunda Division next season.
Levante sealed their return to the top flight 11 months after being relegated by beating Real Oviedo 1-0 at home.
Espanyol 0 Barcelona 3
Luis Suarez 50,87, Ivan Rakitic 77
Las Palmas 0 Atletico Madrid 5
Kevin Gameiro 2,18, Saul Niguez 17, Thomas Partey 72, Fernando Torres 90+1
Real Madrid 2
Cristiano Ronaldo 27, Marcelo 86 Valencia 1
Daniel Parejo 82
Real Sociedad 2
Carlos Vela 45, Juanmi 84 Granada CF 1
Adrian Ramos 65
P W D L F A Pts
35 25 6 4 104 33 81
2 Real Madrid
34 25 6 3 92 39 81
3 Atletico Madrid
35 21 8 6 65 25 71
34 20 8 6 60 40 68
35 18 9 8 52 28 63
6 Real Sociedad
35 19 4 12 54 48 61
7 Athletic Club
34 18 5 11 48 38 59
34 14 9 11 52 45 51
35 13 11 11 45 47 50
34 11 12 11 32 40 45