La Liga wrap: Tough wins for Barca, Real
Lionel Messi kept on breaking records as Barcelona defeated Mallorca while Real Madrid escaped with a 2-1 win over Levante.
Barcelona, though, were given a scare in their 4-2 win over Joaquin Caparros' Mallorca side, with the Catalan giants nearly giving away a three-goal lead on their way to victory.
Xavi put the league-leaders ahead after 28 minutes with a sumptuous free kick before Messi scored his 75th goal of the year in the 44th minute to double the away side's advantage.
Young midfielder Tello then scored one minute later with a powerful drive to give Barcelona a 3-0 half-time lead.
But Mallorca refused to give in and scored two goals in three minutes to haul themselves back into the match.
Michael Pereira struck first in the 55th minute before Sergio Busquets was penalised for a handball in the area, allowing Victor to coolly convert from the spot.
But Barcelona extinguished any hope of a comeback after Messi rifled home his 76th goal of 2012 to move past Pele's goal-scoring record of 75 goals in a calendar year.
The Argentine is now just nine goals away from levelling German great Gerd Muller's all-time record of 85 goals in a year.
The victory ensures Tito Vilanova's side stays three points ahead of Atletico Madrid at the top of the La Liga table.
Meanwhile, Alvaro Morata's first goal for Real Madrid saved his side's blushes after they got away with a 2-1 win over Levante at a rain-soaked Ciutat de Valencia.
Cristiano Ronaldo put the away side ahead in the 21st minute before Angel pulled Levante level just after the hour.
It did not appear to be Real Madrid's day after Xabi Alonso missed a 73rd-minute penalty before substitute Morata popped up to score a with header six minutes from time.
Despite the win, Jose Mourinho's men remain eight points behind bitter rivals Barcelona.
Atletico Madrid ensured they remained a game behind Barca in second after they recorded a comfortable 2-0 win over Getafe at the Estadio Vicente Calderon.
Adrian put his side ahead in the 24th minute before Arda Turan made the game safe on stroke of half-time after he was allowed to stroll through the Getafe defence before rounding goalkeeper Moya to score.
In the day's other games, Athletic Bilbao beat Sevilla 2-1 at home while Real Valladolid held Valencia to a controversial 1-1 draw as the Valladolid were awarded a contentious late penalty.