Real Madrid are just four points to secure a 35th LaLiga title after a victory at Osasuna, which was achieved despite Karim Benzema missing two penalties inside 10 second-half minutes.
David Alaba gave Real Madrid the lead before Ante Budimir hit back for Osasuna.
Marco Asensio put Real Madrid back in front on the stroke of half-time.
Benzema then saw two spot-kicks saved by Sergio Herrera before Lucas Vazquez made sure in stoppage time.
Osasuna played with great intensity throughout but found themselves behind after 12 minutes when Benzema fed Alaba, whose first effort was blocked by Herrera but he was alert enough to dispatch the rebound.
Two minutes later the hosts were level when Chimy Avila’s drilled cross was turned home at the back post by Budimir.
With half-time looming, Asensio combined with Eduardo Camavinga before steaming into the box and poking home the rebound after Herrera parried Dani Ceballos’ shot.
Real Madrid squandered two chances to make sure of the win inside 10 crazy minutes. First, Chimy handled in the area but Benzema was outwitted by Herrera, who saved to his right.
Soon after, a collision between Nacho Vidal and Rodrygo brought about a second penalty, but again Herrera won the psychological battle to deny Benzema a 40th goal in 40 games this season.
After firing wide himself in the final minutes, substitute Vinicius Junior laid on for Vazquez to fire in Madrid’s third.
Real Madrid now have 17 points lead over second-placed Atletico Madrid, each with 33 games played. They are yet to be crowned champions, though, as Barcelona are on 60 points and have played two games fewer, while Sevilla in fourth have one point fewer than Atleti with one game in hand over both Madrid clubs.