Samuel Eto'o scored just before the break to give Barcelona a 1-0 win at Real Valladolid that briefly put them nine points clear in the Primera Liga on Saturday before Real Madrid reduced the lead to six points again with a 1-0 win at Malaga.
The Cameroon international played a slick one-two with Xavi and lobbed the goalkeeper for his 26th goal of the season, and put the pressure on chasing Real, who were playing a late game.
But Gonzalo Higuain scored a second half winner to ensure the defending champions stay in the hunt.
Barca have 72 points, Real 66, and Sevilla are third with 57 after a first-half penalty from Frederic Kanoute earned them a 1-0 win at Recreativo Huelva.
Fourth-placed Villarreal were unable to cope with Almeria striker Alvaro Negredo as he inspired his side to a 3-0 home win.
The former Real Madrid youth team player netted his 17th of the campaign after seven minutes and set up Pablo Piatti and Mane for two more before halftime.
He hit the post after the restart just before Villarreal were reduced to 10 men when Robert Pires collected his second yellow card.
At the foot of the standings, Numancia grabbed a last-minute equaliser from the penalty spot to draw 3-3 in a thriller at Real Betis, and King's Cup finalists Athletic Bilbao ended a run of four successive defeats to beat Real Mallorca 2-1 at home.