Vinicius Junior converted two penalties on his return from suspension as Real Madrid moved two points above Barcelona at the top of La Liga by beating Real Sociedad without Kylian Mbappe at the Estadio Bernabeu.
With top scorer Mbappe on the bench because of a knee issue, Gonzalo Garcia scored his first league goal since a hat-trick at home to Real Betis on January 4 by slotting in Trent Alexander-Arnold’s cross to put Madrid ahead after five minutes.
Mikel Oyarzabal levelled with a penalty in the 21st minute after Dean Huijsen was booked for a rash tackle inside the box on Yangel Herrera, but Vinicius Junior restored Los Blancos’ lead from the spot at the other end four minutes later, having been fouled by Jon Aramburu.
Federico Valverde then struck in the 31st minute from Alvaro Carreras’ pass as Madrid won a seventh straight league match, although reigning champions Barca will overtake them if they win their game in hand at midtable Girona on Monday (20:00 GMT).
Analysis: Real Madrid cruise despite Kylian Mbappe injury
Mbappe had scored in each of Madrid’s previous four league matches and at least one in each of the last six he had been available for, netting a total of five times across those games.
But Madrid had the luxury of leaving their talisman unused, rarely looking troubled after their second goal against in-form opponents chasing European qualification.
Sociedad had been unbeaten in 11 matches in all competitions, with their eight wins along the way including a 1-0 victory at Athletic Bilbao in the first leg of their Copa del Rey semi-final on Wednesday.
They had also won four of their previous five La Liga fixtures, but Madrid now have 19 victories from their 24 top-flight matches this season, as well as 33 points from 12 matches at the Bernabeu.
The 15-time European champions also won the reverse fixture 2-1 and are unbeaten in this fixture since May 2023, while Sociedad’s poor away record now totals 11 points from 12 league away fixtures.
Real Madrid starting team vs Real Sociedad
The major news for Real Madrid was over Mbappe, who has scored an astonishing 38 goals in 31 appearances in all competitions this season, finding the net 23 times across 22 league matches.
Eder Militao and Jude Bellingham were out through hamstring injuries but Vinicius Junior was back and Alexander-Arnold started after recently returning to action.
Brahim Diaz remained on the bench despite an impressive substitute appearance during their 2-0 win at Valencia the previous Sunday.
Real Madrid starting XI: Thibaut Courtois, Trent Alexander-Arnold, Antonio Rudiger, Dean Huijsen, Alvaro Carreras, Federico Valverde, Aurelien Tchouameni, Arda Guler, Eduardo Camavinga, Gonzalo Garcia, Vinicius Junior
Madrid substitutes: Andrii Lunin, Dani Carvajal, David Alaba, Kylian Mbappe, Raul Asencio, Dani Ceballos, Fran Garcia, Brahim Diaz, Ferland Mendy, Jorge Cestero, Franco Mastantuono, Cesar Palacios

Real Sociedad full line up vs Real Madrid
Real Sociedad were missing Takefusa Kubo, while Brais Mendez was suspended. Arsen Zakharyan, Ander Barrenetxea and Luka Sucic were also out.
Alvaro Odriozola was on the bench against his former club. Oyarzabal led the Sociedad attack.
Real Sociedad starting XI: Alex Remiro, Jon Aramburu, Jon Martin, Igor Zubeldia, Aihen Munoz, Pablo Marin, Jon Gorrotxategi, Yangel Herrera, Wesley, Mikel Oyarzabal, Carlos Soler
Sociedad substitutes: Unai Marrero, Aritz Elustondo, Benat Turrientes, Orri Oskarsson, Goncalo Guedes, Duje Caleta-Car, Sergio Gomez, Jon Karrikaburu, Alvaro Odriozola, Daniel Diaz, Ibai Aguirre, Job Ochien
What’s next for these teams? Real Madrid, Real Sociedad fixtures
Madrid return to Benfica, who beat them in their final match of the league phase, in the Champions League knockout play-offs on Tuesday (20:00 GMT).
They then visit Osasuna, who are currently ninth in La Liga, on their return to top-flight action on Saturday (17:30).
Sociedad are next in action on the same day, hosting relegation-threatened Oviedo (13:00).