Lionel Messi was the hero for Barcelona on his 250th competitive appearance for the club as he scored a late winner to overcome a stubborn Athletic Bilbao side 2-1 at the Nou Camp.
Barca went ahead within three minutes through David Villa, but the Catalans struggled thereafter and Athletic levelled shortly after the break, when Andoni Iraola scored from the spot.
And just when it looked as if Pep Guardiola's side would have to settle for a disappointing draw, Messi - who had two very good penalty shouts turned down - popped up with a priceless winner to keep Barca five points clear of arch-rivals Real Madrid after 24 rounds of the Primera Division.
Villarreal conceded a late equaliser at home to draw 1-1 with bottom club Malaga.
Marco Ruben put the Yellow Submarine ahead but Malaga, under the guidance of former Villarreal coach Manuel Pellegrini, hit back through Sebastian Fernandez eight minutes from time to salvage a share of the points.
The result means Villarreal missed the chance to draw level on 48 points with third-placed Valencia.
Javad Nekounam struck a brace as Osasuna got off to the perfect start under new coach Jose Luis Mendilibar with a 4-0 win over sixth-placed Espanyol at the Reyno de Navarra.
The Iran midfielder headed the northerners into the lead early on and ensured the Pamplona-based side would move out of the drop zone with a second from the penalty spot in the second half.
But there was more to come in the closing stages, when Lolo and Fernando Soriano added a goal apiece to make it a debut to remember for Basque coach Mendilibar, who had taken over from previous boss Jose Antonio Camacho earlier on in the week.
Sevilla enjoyed a 1-0 victory over Hercules - the Andalusians' first win in any competition in seven games.
Recent signing Ivan Rakitic's first goal for the club settled the match in Sevilla's favour, helping Gregorio Manzano's men to close the gap on Espanyol and the Europa League places to three points.
Pablo Pinillos converted an 89th-minute penalty as Racing Santander claimed an important 1-0 win over Getafe at the Coliseum Alfonso Perez.
Ivan Marcano was the guilty party for the hosts, fouling Giovani Dos Santos in the closing moments and earning a red card in the process.
Goalkeeper Daniel Aranzubia was Deportivo La Coruna's hero as he scored a dramatic last-gasp equaliser to earn his side a point after a 1-1 draw at second-bottom Almeria.
With his side trailing to Pablo Piatti's brilliant 48th-minute opener, Aranzubia ventured forward for a corner deep into injury-time and headed in a goal that helped Depor avoid what looked set to be a fourth defeat at the hands of Almeria this season.