Robin van Persie was on target as Premier League table-toppers Manchester United got the better of Liverpool but Juventus's lead in Serie A was cut once again after they were held 1-1 at Parma.
Unbeaten leaders Barcelona ended the first half of the season with a record 55 of a possible 57 points when Messi scored one goal and had a hand in two more in a 3-1 win at Malaga on Sunday.
An 18th victory in 19 games for Tito Vilanova's side restored their 11-point lead over second-placed Atletico Madrid, who earlier secured a 10th win in 10 home matches this term with a 2-0 success against Real Zaragoza.
Barca's win also extended their advantage over arch rivals Real Madrid to 18 points after the stuttering champions, mired in third, were held to a 0-0 draw at bottom side Osasuna on Saturday.
Messi's goal was the World Player of the Year's 28th in the league this season and the ninth straight game he has scored, a personal best and one short of the La Liga record last achieved in the 1996-97 season by former Barca striker Ronaldo.
Manchester United maintained their seven-point lead at the top of the Premier League with a 2-1 home win over Liverpool where hotshot Van Persie opened the scoring before a nervous finish.
Nemanja Vidic put United 2-0 up without knowing much about it then substitute Daniel Sturridge gave Liverpool a lifeline and nearly snatched an undeserved draw.
Second-placed Manchester City won 2-0 at Arsenal, their first league win there since 1975, thanks to Laurent Koscielny's 10th-minute red card and goals from James Milner and Edin Dzeko.
City captain Vincent Kompany was also harshly dismissed in the second half.
Chelsea are third after a 4-0 triumph at Stoke City's usual fortress after two Jon Walters own goals while fourth-placed Tottenham Hotspur drew 0-0 at former boss Harry Redknapp's bottom side Queens Park Rangers.
Juventus, eight points clear at the top of Serie A before Christmas, had their lead cut to three by Lazio after they were held 1-1 at Parma.
Andrea Pirlo gave put Juventus ahead early in the second half with a free kick which was deflected in by Jonathan Biabiany but Nicola Sansone kept Parma's unbeaten home record intact with a 77th minute equaliser.
Lazio took advantage of the result by beating Atlanta 2-0 with a controversial second-half goal from Sergio Floccari, who appeared to control the ball with his hand, and an own goal by Davide Brivio.
Napoli stayed two points behind Lazio in third with a 3-0 win over Palermo while Cagliari's 2-1 win at home to Genoa lifted them out of the relegation zone.
Olympique Lyon reclaimed the Ligue 1 top spot with a 2-1 win at struggling Troyes thanks to centre back Samuel Umtiti's first league goal.
Lyon are on 41 points from 20 games, two ahead of Paris St Germain who could only manage a 0-0 home draw against lowly Ajaccio after Thiago Motta was sent off on the stroke of half time.
Olympique Marseille are third on 38 after their four-game winning run in all competitions ended with a 3-1 defeat at 17th-placed Sochaux.
Girondins Bordeaux moved up to fourth with a 2-0 win at Stade Rennes, who fell to sixth. Both clubs are on 32 points, along with Nice who were inspired by striker Dario Cvitanich's brace in their 5-0 home hammering of Valenciennes.
Benfica and Porto scored twice each in a goal-filled opening 20 minutes of a match that ended 2-2 at the Luz stadium to keep the Portuguese Premier League title chase wide open.
The Lisbon club lead the table with 36 points from 14 matches, three ahead of Porto who have a game in hand.
Third-placed Braga missed the opportunity to close in on the pace-setters, losing 3-2 at Nacional, and are 10 points behind Benfica.