Lionel Messi hit a double to take his season's goal tally to 60 as Barcelona came from behind to beat 10-man Zaragoza 4-1 and move within three points of leaders Real Madrid.
Barca are on a nine-match winning streak which has put the pressure on Real who have a tough April and face third-placed Valencia on Sunday.
After that comes the Madrid derby against Atletico and the El Clasico showdown with Barca also to feature.
Relegation-haunted Zaragoza took advantage of a slow start from Barca with Carlos Aranda heading them in front in the 30th minute after earlier missing a penalty.
Carles Puyol brought Barca back on level terms six minutes later and then Messi hit a double towards the end of either half to continue his prolific run which has seen him go one ahead of Real Madrid's Cristiano Ronaldo in the league with 38.
In injury time Messi set up Pedro Rodriguez for the fourth.
Zaragoza's hopes of a comeback had been hit a minute before half time with the dismissal of Abraham Minero.
It was a new-look Barca side to that which beat AC Milan to qualify for the Champions League semi-finals in midweek with Gerard Pique missing through injury while Xavi Hernandez, Andres Iniesta and Sergio Busquets were rested.
That meant Alexis Sanchez and Pedro Rodriguez got a chance in attack.
Zaragoza, on a high after three straight wins saw them move off the bottom of the table, took the game to the champions.
Puyol and Javier Mascherano were struggling against the imposing Aranda who had his first chance after five minutes when he just failed to connect with a cross from Ruben Micael.
Again Aranda was heavily involved as Zaragoza won a penalty after 23 minutes.
He latched onto a cross from Ivan Obradovic with his effort coming back off the post, and then keeper Victor Valdes failed to get to the ball before Angel Lafita brought him down.
Valdes redeemed himself though by parrying a weak spot-kick from Aranda.
Barca were slowly getting into the game when Zaragoza took the lead through Aranda after a through ball by Pablo Alvarez.
Valdes stood firm to deny Aranda's initial strike but the rebound fell to the Zaragoza striker who headed in from close range.
That was the spur that Barca needed and at the other end Alexis had a shot from close range blocked by keeper Roberto Jimenez.
From the resulting corner, the visitors equalised after a howler from the shot stopper.
Roberto dropped the cross at the feet of Puyol who slotted home gratefully.
Minutes later, Messi turned the game on its head making easy work of going round defender Paulo Da Silva before firing into the roof of the net.
Before half-time Zaragoza were reduced to 10 men following the expulsion of Abraham for a second yellow card offence on Alexis but the home side came out fighting after the break.
They pressed Barca back and Obradovic missed an excellent chance to equalise one-on-one with the keeper, but gradually the Catalan side took control again as the Zaragoza players tired.
Sanchez won a penalty five minutes from the end after a foul by Javier Peredes and Messi made no mistake from 12 yards.
In stoppage time Pedro finished off a pass from Messi to give them an emphatic scoreline they perhaps didn't deserve.
Earlier Miguel Perez 'Michu' scored a hat-trick as Rayo Vallecano took a step closer to safety with a 6-0 thrashing of Osasuna.
Diego Costa, Emiliano Armenteros and Roberto Triguero 'Tito' were also on target and the visitors have now conceded eleven goals in two matches following their 5-1 defeat by Real Madrid last weekend.
Getafe added to bottom side Sporting Gijon's problems with a 2-0 win thanks to goals for Nicolas Miku and Diego Castro while Espanyol came from two goals down to draw 2-2 against Real Sociedad.
Espanyol struck back following a brace from Carlos Vela through an own goal by Vadim Demidov and then Vladimir Weiss.