Kylian Mbappe fired Real Madrid back to the top of LaLiga as he scored twice in a comeback victory at Villarreal. Juan Foyth opened the scoring for the hosts but two Mbappe strikes in six first-half minutes earned the points for Madrid.
It puts Los Blancos three points clear of previous leaders FC Barcelona, who visit third-placed Atletico Madrid on Sunday (Mar 16).
Villarreal remain fifth in LaLiga, five points off the Champions League qualification places after back-to-back league defeats.
They started the stronger, with top scorer Ayoze Perez twice denied by Thibaut Courtois in the opening seven minutes. After Courtois tipped a low curling Perez effort behind, Villarreal scored from the resulting corner when captain Foyth slammed home amid a goalmouth scramble.
This sparked Madrid and Mbappe into life and they equalised 10 minutes later.
Mbappe played a through ball to Brahim Diaz and, when his shot was saved by Diego Conde, the Frenchman was on hand to score the rebound. After netting, Mbappe ran straight back to the centre-circle without celebrating. He meant business and showed it again on 23 minutes.
Following a cutback from the byline, Mbappe was given too much space on the edge of the Villarreal box and used it to curl a shot unstoppably past Conde.
It moves Mbappe to 20 league goals this season, just one behind LaLiga top scorer Robert Lewandowski.
Having endured a tough start to life in Madrid, Mbappe has firmly found his feet and will be essential to Real's push for both LaLiga and UEFA Champions League success. He took centre stage here, with usual attacking partner Vinicius Junior starting on the bench following a below-par showing against Atletico in midweek.
Villarreal did push Madrid hard in a fixture which ended 4-4 last season and proved entertaining again here.
Courtois had to go full stretch shortly before half-time to keep out a long-range effort from Nicholas Pepe and again to deny Alex Baena after the break.