Italian league leaders Inter Milan was held 1-1 at Palermo and Girondins Bordeaux regained top spot in France's Ligue 1 by beating Lille 3-1.

Lionel Messi scored a hat trick for the second league game running in Barcelona's 4-2 win at Real Zaragoza. The Argentina forward's repertoire included a stunning individual goal in the 65th minute.

Messi, who scored twice in last week's Champions League win over VfB Stuttgart, also won the penalty for Zlatan Ibrahimovic to net the fourth.

Barcelona stayed level on points at the top with Real Madrid, who came from behind to beat Sporting Gijon 3-1. Real lead the table on goal difference.

Leaders Inter Milan drew 1-1 at Palermo but AC Milan failed to take advantage when they were held 1-1 by Napoli.

Inter went ahead through Diego Milito's penalty before Uruguay forward Edinson Cavani expertly equalized for Palermo, who are level in fourth with Sampdoria after the Genoa side beat beleaguered Juventus 1-0 thanks to Antonio Cassano's 40-meter strike.

Filippo Inzaghi's header following a cross from 30-year-old birthday boy Ronaldinho gave Milan a point at the San Siro after Hugo Campagnaro scored for Napoli following a defensive mix-up.

Inter lead Milan by a point with nine games remaining while AS Roma are four behind the leaders after a 4-2 win over Udinese where Mirko Vucinic bagged a hat trick.

Champions Girondins Bordeaux recovered from a goal down to beat Lille 3-1 and recaptures the lead in Ligue 1.

Bordeaux, who had gone three league matches without a win, suggested their lean spell was over, four days after knocking out Greek side Olympiakos to reach the quarterfinals of the Champions League where they will face Olympique Lyon.

The team from the capital, who have a game in hand, top the standings on goal difference from surprise package Montpellier, 2-1 winners over Valenciennes.

Auxerre, who beat Le Mans 2-1, are in third a point back, while Olympique Marseille moved up to fourth, two further points adrift, with a 2-1 home win over Olympique Lyon.

Leaders Manchester United came from behind to beat arch-rivals Liverpool 2-1 at Old Trafford.

Fernando Torres headed Liverpool ahead after five minutes but United quickly replied, Wayne Rooney scoring from a rebound after seeing his initial penalty - awarded for a foul by Javier Mascherano on Antonio Valecia - saved by Pepe Reina.

South Korea's Park Ji-sung scored the winner with a brave diving header on the hour to leave United two points clear of Arsenal, who beat West Ham 2-0.

Chelsea, a further two points behind Arsenal but with a game in hand, were held 1-1 at Blackburn.

Bayern Munich stayed top despite a dramatic 2-1 defeat at Eintracht Frankfurt where they held the lead for 80 minutes.

Miroslav Klose put Bayern ahead after seven minutes but Juvhel Tsoumou leveled in the 87th minute and Martin Fenin fired the winner two minutes later.

Schalke 04 closed the gap to one point with a 2-2 draw at Hamburg SV, who snatched a point with a goal by Burkina Faso's Jonathan Pitroipa in the 77th minute.

Argentine forward Lucas Barrios scored twice, taking his season's tally to 15, as Borussia Dortmund beat third-placed Bayer Leverkusen 3-0.

 Uruguay striker Luis Suarez scored twice, taking his league tally to 29 goals to help Ajax Amsterdam thrash bottom side RKC Waalwijk.

The win moved Ajax into second place, four points between leaders Twente Enschede who drew 1-1 with PSV Eindhoven.

Danny Koevermans put PSV ahead and Switzerland striker Blaise Nkufo equalized for former England manager Steve McClaren's team.

Matt Derbyshire came off the bench to net a second-half winner for Olympiakos who re-ignited their title hopes by beating leaders Panathinaikos 1-0 in their Athens derby to go second.

Greece striker Dimitris Salpingidis and France marksman Djibril Cisse both hit the crossbar for Panathinaikos, who saw their lead over Olympiakos slashed to four points with three games each to play.

Olympiakos also dislodged PAOK Salonica who slumped to a 1-0 home defeat to AEK Athens, Ismael Blanco scoring the winner.

 Lokomotiv Mezdra's home game with CSKA Sofia was abandoned in the 65th minute due to crowd trouble after visiting fans threw stones and invaded the pitch.

The riot broke out after Ismail Isa had fired the home side ahead.

The Bulgarian Football Union disciplinary commission is to hold an extraordinary meeting on Monday to rule on the outcome.

Leaders Litex Lovech went four points clear of CSKA at the top with a 0-0 draw at PFC Montana.

League leaders Red Star Belgrade sacked manager Vladimir Petrovic and appointed Ratko Dostanic in his place after a 2-1 defeat at promoted Metalac Gornji Milanovac cut their advantage to two points.

Champions and bitter city foes Partizan, chasing a record third successive league and cup double, hauled themselves back into the two-team title race with a 3-0 home win over bottom team Cukaricki Belgrade.

Aleksandar Miljkovic fired Metalac ahead and his substitute Srdjan Simovic drilled in an injury-time winner, one minute after Vladimir Bogdanovic had equalized with a penalty.

Rangers stayed on course for the treble by beating St Mirren 1-0 in the Scottish League Cup final despite having two men sent off.

The Scottish Premier League leaders and Cup quarter-finalists had Kevin Thomson dismissed for a dangerous tackle on 53 minutes before Danny Wilson followed for a professional foul with 19 minutes remaining.

Scotland forward Kenny Miller headed a dramatic winner in the 84th minute to hand Rangers a record 26th League Cup trophy.