Atletico Madrid got a big win in the Spanish League before Sunday's all-important "Clasico" between Barcelona and Real Madrid, while Lyon lost ground in the French race on Saturday. A bizarre referee's blunder — the third in the Premier League this season — marred Manchester City's win.
Here is a look at the action in European soccer:
Atletico Madrid posted a 2-0 home win over crosstown rival Getafe to keep in range of the top three teams in the Spanish league.
Fernando Torres' first league goal since rejoining his boyhood club during the winter transfer market opened the scoring in the third minute. Jorge "Koke" Resurreccion, who set up Torres and later hit the post, also had a hand in the second goal four minutes before the break, when his corner was flicked on by Raul Jimenez for Tiago Cardoso to head home at the far post.
The defending champions ended a run of three consecutive draws in the league and remained one point behind third-place Valencia.
League leader Barcelona is six points ahead of Atletico heading into Sunday's game against second-place Real Madrid, with only one point separating the fierce rivals.
Rayo Vallecano won its fourth straight home match by edging 10-man Malaga 1-0 to move into ninth place, and Celta Vigo kept pace with a 1-0 win at Levante.
Manchester City earned a 3-0 home win against West Bromwich Albion in the Premier League, but the visitors had the wrong player sent off after only two minutes.
City striker Wilfried Bony was brought down by Craig Dawson and referee Neil Swarbrick called a foul, but incorrectly dismissed Gareth McAuley for the offence.
Olivier Giroud had two goals in the first half of Arsenal's 2-1 win at Newcastle. Arsenal stayed a point behind second-place City and four behind league leader Chelsea, which plays Hull on Sunday.
Harry Kane marked his first promotion to the England international team with his first Premier League hat trick, leading Tottenham to a 4-3 win over Leicester.
Southampton beat Burnley 2-0, and Crystal Palace rallied to win 2-1 at Stoke. Swansea clinched a late 1-0 win at Aston Villa, and Dick Advocaat's first game as Sunderland manager ended in a 1-0 defeat against West Ham.
AC Milan beat relegation-threatened Cagliari 3-1 to end a run of three matches without a victory in Serie A.
There were few fans present to witness the victory, however, with the Milan 'ultras' calling a strike to protest poor results, leaving the stands mainly empty apart from banners which read: "Game over" and "Insert coin to save Milan."
Jeremy Menez scored twice, including a penalty, and Philippe Mexes had Milan's other goal.
Diego Farias levelled for Cagliari, which also hit the post through Joao Pedro.
Milan moved provisionally up to eighth, while Cagliari remained four points from safety, with new coach Zdenek Zeman still without a win after two matches in charge.
Earlier, Chievo Verona missed a penalty but held on for a much-needed 1-0 victory over Palermo.
Lyon stayed a point behind French league leader Paris Saint-Germain after losing 2-1 at home to 10-man Nice, which sealed an unlikely victory with a late penalty.
Lyon had an extra man after defender Lloyd Palun was sent off in the 53rd minute for a second yellow card after conceding a penalty.
Lyon played without Alexandre Lacazette, who was suspended. Lacazette leads the team with 23 goals.
Carlos Eduardo put Nice ahead in the 23rd, but captain Maxime Golanons responded with the tying goal for Lyon.
Lyon playmaker Yoann Gourcuff limped off injured early in the second half and, as Lyon pushed for a winner, Nice midfielder Valentin Eysseric scored from the spot in the 86th.
Two-time defending champion PSG beat Lorient 3-1 at home on Friday, thanks to Zlatan Ibrahimovic's hat trick.
Japan star Shinji Kagawa scored and set up another goal as Borussia Dortmund edged 10-man Hannover 3-2 in the Bundesliga.
Dortmund is five points off sixth-place Augsburg with eight games to play.
Pierre-Emerick Aubameyang put Dortmund ahead in the 19th, and Lars Stindl tied the game in the 31st.
Kagawa scored with a tap-in and then set up Aubameyang's second with the outside of his boot in the 61st. Stindl ensured a nervy ending by scoring again in the 82nd.
In the late game, Karim Bellarabi's 35th-minute goal was enough for Bayer Leverkusen in a 1-0 victory at Schalke.
Augsburg earlier lost 2-0 at relegation-threatened Freiburg, and Stuttgart posted a 3-1 win against Eintracht Frankfurt. Cologne drew 1-1 with Werder Bremen, and Paderborn and Hoffenheim played a scoreless draw.