Gareth Bale was jeered on his Bernabeu return but made a goal as Real Madrid beat Real Sociedad 3-1.
Bale was heavily criticised in Spain after celebrating Wales’ Euro 2020 qualification on Tuesday behind a flag which said ‘Wales. Golf. Madrid – In That Order’.
The 30-year-old had played four times for Wales since his last Real appearance on October 5 and was booed as he appeared as a 67th-minute substitute.
But Bale set up Real’s third-goal clincher within six minutes, his run and cross ending with Luka Modric firing home.
Willian Jose pounced on Sergio Ramos’ second-minute mistake to give Sociedad the lead but Karim Benzema and Federico Valverde turned it around.
Real stay second on goal difference after Barcelona grabbed a late winner to beat bottom-of-the-table Leganes 2-1.
Youssef En-Nesyri gave the hosts an early lead, but Luis Suarez headed a 52nd-minute equaliser from Lionel Messi’s free-kick.
Arturo Vidal secured victory 10 minutes from time when his mis-hit shot floated over the head of Leganes goalkeeper Ivan Cuellar, the goal standing after a VAR check for offside.
Atletico Madrid’s title hopes were dented in a 1-1 draw at Granada.
Renan Lodi put Atletico ahead on the hour mark, but German Sanchez headed an equaliser seven minutes later.
Sergio Canales struck in the third minute of stoppage time as Real Betis overcame Valencia 2-1, Joaquin having earlier cancelled out Maxi Gomes’ goal.
Bundesliga leaders Borussia Monchengladbach saw their four-point lead cut to one after a 2-0 defeat at Union Berlin.
Anthony Ujah gave Union a 15th-minute lead and Sebastian Andersson wrapped up victory in stoppage time.
RB Leipzig and Bayern Munich took advantage of Monchengladbach’s slip with comfortable wins.
Second-placed Leipzig brushed aside FC Cologne 4-1 at home with Tino Werner opening the scoring on his 200th Bundesliga outing.
Emil Forsberg (two) and Konrad Laimer were also on target, with Rafael Czichos replying for Cologne.
Bayern won 4-0 win at Fortuna Dusseldorf as Benjamin Pavard, Corentin Tolisso and Serge Gnabry put them in first-half control and Philippe Coutinho added a fourth 20 minutes from time.
It was the first time Robert Lewandowski failed to score in a league match this season, but Hansi Flick has won all three of his games as interim Bayern coach.
Freiburg are fourth after drawing 1-1 at Bayer Leverkusen, Lucas Holer’s early effort cancelled out by Moussa Diaby.
Amine Harit and Benito Raman scored in a 2-1 Schalke success at Werder Bremen, for whom Yuya Osako netted, while Wolfsburg won 2-0 at Eintracht Frankfurt.
Wout Weghorst and Joao Victor scored in each half for the visitors, who had Marcel Tisserand sent off after receiving a second yellow card.
Juventus recovered from a goal down to win 3-1 at Atalanta and stay top of Serie A.
Robin Gosens gave the hosts a 56th-minute lead, but Gonzalo Higuain scored twice in the final 20 minutes and Paul Dybala marked his 200th Serie A appearance by sealing matters in the final seconds.
Inter Milan remain a point behind Juventus after winning 3-0 at Torino.
Lautaro Martinez and Stefan De Vrij scored before half-time and Romelu Lukaku claimed his 10th league goal of the season after the break.
AC Milan and Napoli drew 1-1 at the San Siro. Hirving Lozano gave Napoli a 24th-minute lead, but Giacomo Bonaventura soon levelled with a thumping drive.
Lyon continued their Ligue 1 revival with a 2-1 home win over Nice in a game which saw both sides reduced to 10 men.
Jeff Reine-Adelaide and Moussa Dembele (pen) put Lyon in cruise control before Fernando Marcal was sent off for a high boot after 34 minutes.
Kasper Dolberg halved the deficit 12 minutes from time but Nice defender Patrick Burner picked up a second booking in the closing stages.
Angers moved into second spot – nine points behind leaders Paris St Germain – with a 1-0 victory over Nimes, Dijon beat Rennes 2-1 and Strasbourg won 4-0 at Amiens.
Brest and Nantes and Metz and Reims shared the spoils in 1-1 draws.