Zinedine Zidane watched one of the worst first 45 minutes under his management and changed four players at the break but Anthony Lozano’s goal on 16 minutes gave the visitors the points they fully deserved.
Madrid rarely threatened in attack and were fragile at the back in the first half with Sergio Ramos at fault for the goal and not appearing for the second half with a knee injury.
Madrid suffered an early scare with Alvaro Negredo playing against the club where he first broke through almost scored in the second minute.
His hooked shot, after a mistake from Toni Kroos, would have crossed the line but Ramos slid in to clear off the line.
Negredo was not the only Cadiz player back on familiar ground. Alex Fernandez was playing at the club where he played as a youngster and, operating on the left wing, he was directly up against his brother Nacho Fernandez, playing right back for Madrid.
The home side, playing in all-pink to promote World Breast Cancer Awareness day on Monday, had their first shot on ten minutes but Karim Benzema’s shot was comfortably saved by Jeremias Ledesma. Lucas then fired over as Madrid gradually grew into the game.
But Cadiz still looked more likely to break the deadlock. Negredo headed wide from Salvi’s cross and Juan Cala then had a long saved by Thibaut Courtois. That was Cadiz’ fourth chance in the first 15 minutes.
When finally the goal came Negredo created it. He nodded down to Lozano. The Honduras forward had got goalside of Ramos but was on side and he lifted his shot over Coutois.
Courtois then kept Real Madrid in the game with another low save to his left from Lozano’s shot.
He had raced clear from Jose Mari’s long pass. Ramos’ evening got worse when he kicked Lozano and was booked. Lozano was making life uncomfortable for Ramos who was still feeling his knee from an earlier clash.
Courtois made his one mistake of the first half and Lozano should have done better from it but somehow the margin stayed at one goal at the break.