Prolific Messi scored again for La Liga leaders Barcelona, although his side were held by Valencia, but Ronaldo put through his own net as Real Madrid's slim La Liga title hopes faded further with defeat at Granada.
Manchester United stretched their lead at the top of the Premier League to nine points after a 1-0 win at Fulham and Manchester City's 2-2 home draw with Liverpool.
Wayne Rooney's superb controlled finish after 79 minutes at Craven Cottage was enough for battling United to seal a vital win over Fulham.
City had Sergio Aguero to thank for their point after the Argentine scored a magical goal from an acute angle.
Edin Dzeko had given the hosts the lead, only for Daniel Sturridge and Steven Gerrard to hit back in style for the Reds.
Third-placed Chelsea lost 3-2 at Newcastle United in a rip-roaring encounter, so Tottenham Hotspur moved to within a point of their London rivals thanks to Gareth Bale's cracker in a 1-0 win at 10-man West Bromwich Albion.
A Cristiano Ronaldo own-goal condemned champions Real Madrid to a 1-0 defeat at lowly Granada and a fifth defeat of the campaign further damaged their fading title hopes.
Ronaldo headed into his own net at a 22nd-minute corner and leaders Barcelona and second-placed Atletico Madrid both capitalised.
Lionel Messi scored in his 12th consecutive league game, a penalty just before halftime, to cancel out Ever Banega's strike as Barca drew 1-1 in Valencia.
Atletico were 1-0 home winners over fifth-placed Real Betis thanks to a Diego Costa header. Barca have 59 points, Atletico 50 and Real remained on 43 in third.
Mario Balotelli scored twice on his AC Milan debut, the second a controversial stoppage-time penalty, to give them a 2-1 win over Udinese.
Milan moved up to fourth place with 40 points, ahead of neighbours Inter Milan on goal difference and only three behind third-placed Lazio, who lost 3-2 to Genoa. Inter were beaten 3-1 at lowly Siena.
Leaders Juventus stayed three points clear of Napoli at the top as both won to pull clear of the pack.
Juventus won 2-1 at Chievo with first-half goals from Alessandro Matri and Stephan Lichtsteiner, and Napoli beat Catania 2-0, leaving them six points clear of Lazio.
Leaders Bayern Munich continued their seemingly unstoppable march to their first league title in three years when they beat Mainz 05 3-0 with two goals from Bundesliga top scorer Mario Mandzukic.
The Bavarians hold a 12-point advantage over champions Borussia Dortmund who went second after a scintillating 3-2 victory at Bayer Leverkusen.
Early goals from Marco Reus and Jakub Blaszczykowski gave the visitors a two-goal cushion but Leverkusen raced back in the second half to level with Stefan Reinartz's double.
Robert Lewandowski snatched the winner in the 64th with his 13th goal of the season to lift Dortmund to 39 with Bayern on 51. Leverkusen dropped to third on 37 points.
Paris St Germain celebrated David Beckham's signing with an impressive 4-0 demolition of Toulouse which lifted them three points clear at the top of the Ligue 1.
PSG are on 48 points with second-placed Olympique Lyon on 45 after they lost 3-1 at lowly Ajaccio, Adrian Mutu scoring his first double for the Corsican side.
English midfielder Joey Barton was dismissed for the first time since joining Olympique Marseille on loan from Queens Park Rangers as his side slumped to a shock 1-0 home loss to struggling Nancy.
Marseille are third with 42 points, four ahead of Girondins Bordeaux who defeated Valenciennes 2-0 at home thanks to former Manchester United forward David Bellion's first league goal in more than three years.
Leaders PSV Eindhoven scored six second-half goals, with doubles from Dries Mertens and Georginio Wijnaldum, in a 7-0 thrashing of ADO Den Haag.
Ajax Amsterdam moved into second, three points behind PSV, with a 3-0 win at VVV Venlo. Twente Enschede slipped to third, a point further back, after a surprise 4-2 home defeat by Utrecht.
Porto and Benfica remained neck and neck at the top with comfortable wins over Vitoria de Guimaraes and Vitoria de Setubal.
Both are on 45 points from 17 matches, 15 ahead of third-placed Braga.
In-form Colombia striker Jackson Martinez grabbed a hat-trick in Porto's 4-0 away thrashing of Guimaraes. The crafty Martinez pulled clear in the top scorers list with 18 goals.
Benfica punished Setubal 3-0 at home thanks to goals from Argentine midfielder Enzo Perez, Brazilian striker Lima and Spanish youngster Rodrigo.
- Sports & Recreation
- Manchester United
- Real Madrid