Lionel Messi netted his 60th goal of the season to help Barcelona to a 4-1 win over struggling Real Zaragoza.
Barcelona had to come from behind before running out winners to close the gap on leaders Real Madrid to three points.
Zaragoza missed a great chance to break the deadlock on 24 minutes when they won a penalty after Victor Valdes brought down Angel Lafita inside the box, but the Barcelona made amends for his error by saving Carlos Aranda's spot-kick.
Aranda made amends for his miss with the opener on the half hour mark, but Barcelona drew level six minutes later through Carles Puyol.
Messi gave Barca the lead on 39 minutes when finished powerfully inside the near post after a rapid counter attack.
Things got worse for Zaragoza right on the stroke of half-time when Abraham Minero was sent off for a second bookable offence.
Messi reached his landmark 60th goal of another stunning season four minutes from time when he scored from the penalty spot.
Pedro added a fourth in stoppage time to give Barca all three points and put the pressure on Real ahead of their game against Valencia on Sunday.
Rayo Vallecano thumped Osasuna at the Estadio Teresa Rivero after a stunning 6-0 win.
The home side got the ball rolling with the opener after just five minutes through Jose Maria Movilla.
Michu put Rayo in firm control with two quick-fire goals (17,28) before Diego Costa made it 4-0 on 36 minutes.
Emiliano Armenteros added a fifth on 57 minutes before Tito completed the rout 11 minutes from time.
Getafe pushed Sporting Gijon a step closer to relegation with a 2-0 win at Alfonso Perez stadium.
Goals in each half from Miku and Diego Castro were enough to give Getafe all three points and leave Gijon facing an uphill battle to stay up.
Espanyol came from two goals down to earn a 2-2 draw at home to Real Sociedad.
Loan signing from Arsenal Carlos Vela put Sociedad 2-0 up with two quick-fire goals (12,15), but an own goal from Vadim Demidov on the stroke of half-time gave Espanyol a foothold in the game.
Vladimir Weiss drew Espanyol three minutes into the second half to earn the hosts a point.
Real Betis moved clear of trouble at the wrong end of the table with a 3-1 win over fellow strugglers Villarreal at Estadio Benito Villamarin.
Roque Santa Cruz set Betis on their way with the opener on 35 minutes and three minutes later Ruben Castro doubled the home side's lead.
Benat added a third for Betis on the hour mark and things got worse for Villarreal when Angel was sent off on 66 minutes for a second bookable offence.
Villarreal grabbed a consolation with the last kick of the game as Marco Ruben scored from the penalty spot