Madrid: Barcelona took another step towards the title after coming from behind to beat Almeria 3-1 and keep their eight point lead at the top of the table.
Earlier Real Madrid beat Athletic Bilbao 3-0 and with the top two sides due to meet next week at the Bernabeu a defeat could have added spice to the classico.
Barca coach Pep Guardiola warned of the importance of winning this game with some difficult clashes ahead but decided to rest several players after their mid-week Champions League victory over Shakhtar Donetsk.
In midfield youngster Thiago Alcantara was given a rare start while Bojan Krkic played in attack and the changes appeared to affect the rhythm of the side.
Javier Mascherano picked up a yellow card and will miss the game against Real Madrid through suspension.
In the second half Pablo Piatti broke for Almeria and played in Miguel Corona who gave the visitors the lead but the goal eventually brought Barca to life.
David Villa having come on for Bojan was brought down in the box and Messi converted the penalty.
Then Thiago headed home a corner and in stoppage time Messi struck again to give a convincing win in the end.
Real Madrid kept on Barcelona`s trail with a Kaka brace from the penalty spot helping them to a 3-0 win over Athletic Bilbao.
With Barcelona`s substantial lead, Real`s main objective is now the Champions League and coach Jose Mourinho also chose to rest players with Cristiano Ronaldo, Xabi Alonso and Mesut Ozil all missing from the starting lineup.
Athletic chasing a Europa League place started the stronger with plenty of possession but they always looked exposed at the back.
Real took the lead when Angel Di Maria was upended by keeper Gorka Iraizoz as he raced clear and Kaka converted the spot-kick.
Athletic continued to press forward but Real looked solid defensively and after the break went further ahead when defender Xavier Castillo blocked Di Maria and Kaka again kept his composure to beat the keeper with his penalty.
Substitute Ronaldo wrapped up the win with a piece of quality where he came inside his marker and slotted home.
Athletic remain on 45 points, level with Sevilla who play away at Mallorca later.
Real assistant coach Aitor Karanka said the result showed the strength in depth of the squad.
"People may have had their doubts about the line-up but at Madrid we have a squad which is full of quality players and at this stage of the season they are all important," he said.
"Pepe did very well in the middle of the pitch and Kaka also was impressive, you can see it in the way he runs and in his face after the problems he has had to live with. He kept his cool very well for the second penalty and with some important games left he is going to be a great addition."
The fight for third place is between Valencia and Villarreal who are well clear of the sides below them and they go head-to head on Sunday.
Espanyol have had a dismal run since Christmas and take on Hercules still in the fight for a European place mainly because the teams around them have done little better.
Atletico, a point behind, face Real Sociedad with just three wins from their last eleven matches.
Malaga continue their survival bid against Deportivo la Coruna who have been drawn into the relegation dogfight. Zaragoza a point above the bottom three play Getafe who are also in danger of the drop.
Levante play Racing Santander while Sporting Gijon meet Osasuna.