Unai Garcia headed the home side into the lead from a corner once fourteen minutes and it had been no more than they merited after an electrical start.
But Madrid settled later within the half and turned the game on its head within the space of 5 minutes.
First, Isco volleyed home at the far post once a Gareth Bale shot had been deflected into his path after thirty three minutes.
Then, Casemiro flicked on a corner and Sergio Ramos was there to head home from close range at the far post to form it 2-1 five minutes later.
The half was tight and Osasuna continuing to appear dangerous on the break, however spaces appeared towards the end and Karim Benzema set off unselfishly for substitute Lucas Vazquez to form it 3-1 six minutes from time.
Goalkeeper Sergio Herrera got slightly and might have done better, but could do nothing to stop a fierce drive from Luka Jovic in added time as the Serbian striker rounded off an ultimately emphatic finish.
With twenty three games played, Madrid move six points further from Barca, in action later on Sunday away to Real Betis.
Osasuna are simply higher than Betis in twelfth place.
Watch Highlight Below…