Real Madrid need just four points to secure a 35th La Liga title after an eventful victory at Osasuna, which was achieved despite Karim Benzema missing two penalties inside 10 second-half minutes.
David Alaba gave Madrid the lead before Ante Budimir hit back for Osasuna.
Marco Asensio put the visitors 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.
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.
BDST: 1224 HRS, APR 21, 2022
SMS