Athletic Bilbao 2 - 5 Real Madrid & Valencia 1 - 1 Recreativo Huelva
Real move on to 60 points with 11 matches remaining while Barca have 63 ahead of their game at Almeria after beating their ten-man opponents.
The visitors made the perfect start at Athletic Bilbao when Arjen Robben opened the scoring after running at Athletic's defence before sending a left-footed drive in off the crossbar.
The visitors doubled their advantage after 34 minutes when Gabriel Heinze nodded home Wesley Sneijder's dangerous inswinging free-kick.
However, just when it looked like Real were on course to close the gap on leaders Barca the home side struck back.
Within minutes of scoring at the right end, Heinze put through his own net after making a hash of clearing David Lopez's low driven cross.
The match erupted moments later when the lively Francisco Yeste was given his marching orders for foolishly bundling over Real keeper Iker Casillas.
Athletic were back on level terms before half-time when Casillas somehow failed to keep out Fernando Llorente's far post header in first-half injury time.
The home side's joy was short-lived after half-time with Klaas Jan Huntelaar continuing his good form by somehow squeezing his shot past the statuesque Gorka Iraizoz at his near post.
Athletic pushed forward in search from another leveller, but it was Real who scored next. The visitors broke through Robben and he picked out Huntelaar who finished with aplomb.
Juande Ramos' side added the icing on the cake late on when substitute Gonzalo Higuain converted from 12 yards out after Marcello was feeling in the penalty area.
Ten-man Valencia needed a late goal from Pablo Hernandez to rescue a 1-1 draw against Recreativo Huelva at the Mestalla.
Los Che have been poor of late and another two dropped points on Saturday means they have now gone five Liga matches without success.
Recreativo went ahead in the 55th-minute when Adrian Columnas lunged ahead of two Valencia defenders to poke a loose ball under Cesar Sanchez.
Valencia had Carlos Marchena sent off shortly after, but Valencia managed to secure a point from the contest thanks to Hernandez's leveller.