Ten-man Barca survive Sporting scare
Barcelona lurched to a much-needed 3-1 win over lowly Sporting Gijon on a night they struggled for a cutting edge without Lionel Messi.
With the Argentina playmaker suspended, Pep Guardiola's side had to rely on late goals from Seydou Keita and Xavi to secure a win that moved them seven points behind leaders Real Madrid.
Barca looked in real danger of dropping yet more points when David Barral's 49th-minute equaliser came moments after Gerard Pique saw red.
The champions had been frustrated before Andres Iniesta opened the scoring just before half-time and their ineffectiveness in front of goal looked like costing them until Keita curled in a wonderful goal with 11 minutes left.
Xavi added a third late on as Barca extended their unbeaten run at the Camp Nou to 49 games.
Sevilla scored a second-half equaliser through Papa Diawara as they and Atletico Madrid lost ground in the battle for the final Champions League spot in the Primera Division after sharing a 1-1 draw.
Diawara pounced to cancel out an early opener through Eduardo Silva which left both sides four points away from the final Champions League spot in the table.
Eliseu Pereira scored one goal and set up another as Malaga came from behind to see off the challenge of Getafe with a 3-1 victory.
Manuel Pellegrini's men trailed to a first-half strike from Diego Castro, but Eliseu's introduction after the interval provided an equaliser before the midfielder teed up Jeremy Toulalan for Malaga's second.
Santi Cazorla then added a stunning strike from distance as the visitors maintained their push for European football next season.
Emilio Nsue rescued a 1-1 draw for Real Mallorca to put a small dent in Osasuna's hopes of a top-six finish in the Primera Division.
The visitors set themselves on course for a rare away win with Alvaro Cejudo's opener just before the interval. But Nsue replied midway through the second half to earn Mallorca a welcome point in their battle to pull clear of the relegation zone.
Rayo Vallecano recovered from 2-0 down to beat 10-man Racing Santander 4-2 at Vallecas.
The visitors were dealt an early blow when goalkeeper Tono was sent off after just three minutes for bringing down Diego Costa. However, they responded by taking a 2-0 lead after Marc Torrejon fired in from Christian Stuani's knockdown on nine minutes and Gonzalo Colsa finished calmly 19 minutes later.
Michu pulled a goal back for Rayo just before half-time and the hosts put the game beyond any doubt with three goals in 10 minutes after the break. Michu tapped in his second to equalise after substitute goalkeeper Mario spilled Emiliano Armenteros' cross before Raul Tamudo and Piti consigned Racing to their second defeat in three games.