Seydou Keita and Xavi Hernandez came to the rescue to give ten-man Barcelona a crucial 3-1 victory over Sporting Gijon which cut the gap on leaders Real Madrid to seven points.
Malian international Keita popped up to curl in a left-footed shot from the edge of the area with 12 minutes remaining, before Xavi put the match beyond doubt with two minutes left. Andres Iniesta had opened the scoring for Barça before David Barral took advantage of a Gerard Pique red card to bring the Asturian side back into the game.
Barcelona were without Lionel Messi who was serving his first-ever suspension for a fifth yellow card. Real Madrid can restore their imposing ten-point advantage at La Liga summit when they face Espanyol tomorrow.
Despite the win, Barcelona coach Pep Guardiola admitted that his hopes of clinging onto the title were fading. "I honestly feel we have very little chance of catching Madrid, the gap is too much, but we've won 13 out of a possible 16 competitions and we'll continue to fight," he said.
Up against a Sporting Gijon side desperate to claw their way out of trouble in the relegation zone, and with ex-Spain manager Javier Clemente unbeaten in two games since taking over, Barcelona were never comfortable all evening.
Sevilla, Atletico finish level
In the day's other games, there were wins for Malaga and Rayo Vallecano that improved their chances of European competition next season while rivals Sevilla and Atletico Madrid played out a 1-1 draw in a close-fought encounter.
Argentinian midfielder Eduardo Salvio opened the scoring early on for Atletico Madrid in Sevilla with a glancing header from a Gabi Fernandez cross. It was an African combination that levelled the game when Malian Freddie Kanoute provided the cross for Senegalese striker Baba Diawara's first goal for Sevilla.
Both teams remain level on 33 points and four behind fourth-placed Malaga, who came from behind to win 3-1 at Getafe. Diego Castro scored on 42 minutes for Getafe, but the visitors' equaliser came quickly through a spectacular shot from the Brazilian Eliseu before Jeremy Toulalan and Santi Cazorla earned all the points with equally superb strikes in the last ten minutes.
Four-goal Rayo fight back
Rayo Vallecano, meanwhile are in eighth place, and three points behind Malaga, after they came from two goals down to claim a 4-2 win over Racing Santander, who had goalkeeper Tono sent off on three minutes.
Racing Santander ran into the lead with goals from Marc Torrejon and Gonzalo Colsa, but Rayo shuffled their pack and came back with some great attacking play and two goals from Michu and one each from Raul Tamudo and Piti. Racing remain in the relegation zone, three points from safety.
Osasuna played out a 1-1 draw with Mallorca to move up to sixth on 35 points. Emilio Nsue grabbed a second-half leveller after Alvaro Cejudo had put the visitors ahead on 45 minutes.