Real Madrid could only draw 0-0 at home to Valencia in Spain, meaning that Barcelona closed the gap to four points with their 4-1 win at Real Zaragoza, a game in which Leo Messi scored his 60th goal of the season. Elsewhere, Levante moved above Malaga into fourth place with a 2-0 win over Atletico Madrid, whilst Athletic Bilbao closed on the Champions League positions with a 1-0 win over Sevilla.
Mallorca and Granada drew 0-0, with Rayo Vallecano thrashing Osasuna 6-0. Espanyol and Real Sociedad drew 2-2, and Real Betis beat Villareal 3-1.
Manchester City have almost no chance of winning the Premier League now after they were beaten 1-0 at Arsenal. Manchester United are eight points clear with six games remaining after beating QPR 2-0. Arsenal are now two points clear of Tottenham, who drew 0-0 at Sunderland, and Chelsea and Newcastle are level on points in fifth and sixth after 2-0 and 2-1 wins over Swansea and Wigan respectively. Liverpool drew 1-1 with Aston Villa.
In Italy AC Milan were stunned by Fiorentina, who won 2-1 at the San Siro to knock the Milanese off top spot after Juventus were 2-0 winners in Sicily against Palermo. Behind them Lazio kept up the charge for the final Champions League spot with a 3-1 win over Napoli, and Udinese beat Parma by the same score. Inter drew 2-2 with Cagliari and Roma lost 4-2 at Lecce.
In France Lille’s faint title hopes are all but over as they lost 3-1 at Brest. Paris St Germain beat Marseille 2-1 in the Clasico, to keep up the pressure on Montpellier, who won by the same score at home to relegation threatened Sochaux.
Lyon beat Auxerre 2-1 to keep up their Champions League charge, whilst Toulouse lost 2-0 at Valenciennes. Rennes won 3-1 at Evian, and Caen beat Bordeaux 1-0.
In Germany Borussia Dortmund are still three points clear of Bayern Munich going into their big game against each other on Wednesday after winning 3-1 at Wolfsburg. Bayern beat Augsburg 2-1 at home, whilst Borussia Moenchengladbach drew 0-0 at home to Hertha Berlin and Schalke beat Hannover 3-0.
In Portugal Porto won 1-0 at Braga in a battle between two title contenders, and in Russia, Zenit won 1-0 at Lokomotiv Moscow to remain in front of CSKA, who drew 0-0 at home to Anzhi Makhachkala. Spartak beat Kuban Krasnodar 2-0. In Scotland, Celtic won the league after a 6-0 win at Kilmarnock.