A Cristiano Ronaldo hat-trick helped Real Madrid twice come from behind to beat Villarreal 4-2 in an enthralling Liga match at the Bernabeu.
Los Merengues moved back two points behind leaders and arch rivals Barcelona with the result.
Villarreal took the lead early on through Cani, only for the hosts to hit back immediately through Ronaldo.
Marco Ruben then put the away side, brilliant in the first half, back in front; Ronaldo again levelled with a header on the stroke of half-time.
Real were much improved in the second period and laid siege to the Villarreal goal. However it took them until the 79th minute to move ahead, Ronaldo finding the corner on the turn to send the home fans crazy.
Substitute Kaka, making his first Liga appearance of the season, scored the fourth.