Real Madrid battled their way to a 2-1 win over Levante in appalling conditions at the Ciudat de Valencia stadium.
Cristiano Ronaldo gave the reigning Liga champions a first-half lead but Angel popped up with an equaliser midway through the second-half.
Xabi Alonso missed from the spot as Los Blancos looked to be heading for a disappointing draw, but Alvaro Morata netted his first goal for the club when he headed in a late winner for the visitors.
A waterlogged pitch made for a difficult start to the game and after one early shot, Ronaldo was forced to leave the pitch for treatment following a blow to the eye.
Levante pushed forward, eager to capitalise on their temporary numerical advantage, but Juanlu was unable to convert their best opportunity as he blazed over from 10 yards out.
Given the dreadful nature of the pitch, both teams resorted to playing the long ball and it was perhaps predictable that the first goal would only come as a result of a set-piece.
Sergio Ballesteros failed to deal with Alonso's dead-ball delivery and his header fell to Ronaldo, who controlled with his thigh before lashing a volley into the roof of the net with 21 minutes played.
The weather continued to hinder the flow of the game and clearly content with the one-goal advantage, Jose Mourinho withdrew Ronaldo at the break and replaced him with Raul Albiol.
However, the change almost backfired immediately. Within two minutes of the restart the former Valencia man failed to close down Juanlu quickly enough and his blushes were only spared by a magnificent stop from Iker Casillas.
Madrid soon settled again and started to threaten the Levante goal, hitting the crossbar twice before the hour mark.
Firstly, Pepe was afforded too much space from a corner, but his header came crashing back off the woodwork. Then, as Munua failed to claim a corner from the right, Sergio Ramos' back-heel was deflected onto the bar by Pape Diop.
But, the profligacy of Mourinho's side came back to bite them as Jose Barkero's pass was flicked over the defence by Obafemi Martins. Substitute Angel got on the end of it, held off the challenge of Pepe, and lifted the ball over Casillas and into the net.
The visitors were then handed a golden opportunity to take the lead in the 73rd minute, when Ballesteros brought down Jose Callejon on the edge of the box and a debatable penalty was awarded. Alonso took on the responsibility of the spot-kick, but Munua guessed right and parried the shot aside.
Unperturbed, the hosts continued to press and an error from Albiol was pounced upon by Juanlu. He picked up the loose ball and charged into the area but failed to pick out the far corner.
Yet, there was still to be one more twist in the tale in the 84th minute. Another quality free kick from Alonso found the head of Morata who nodded in the winner, leaving Madrid in third position and eight points adrift of Barcelona.