Real Madrid came from two goals down to swiftly reclaim top spot in La Liga with a thrilling 3-2 victory over Villarreal.

Having been displaced at the summit a few hours earlier when Barcelona won at Atletico Madrid, Real were facing up to the prospect of two defeats in five days when the home side went 2-0 up before the hour through Manu Trigueros and Cedric Bakambu.

But Gareth Bale, starting for the first time since November, reduced the deficit, Cristiano Ronaldo converted a controversially awarded penalty to level and substitute Alvaro Morata nodded in a 83rd-minute winner as Real's relentless pressure eventually told.

It maintained the one-point cushion they held over Barca heading into the day, with Zinedine Zidane's men also holding a game in hand on their great rivals.