Barcelona's 6-0 hammering of Alaves earlier in the afternoon sent the Catalan outfit above Los Blancos, but Zinedine Zidane's side have now moved one point clear of their closest rivals, still with two games in hand.
Zidane switched to a back three for the clash in Pamplona, with Nacho joining Sergio Ramos and Raphael Varane in central defence, and Marcelo and Danilo starting as the two wing-backs. There was also another start for Isco, while Cristiano Ronaldo and Karim Benzema were selected as a front two.
As for Osasuna, on-loan Newcastle United striker Emmanuel Riviere was joined in the final third by Sergio Leon, while Salvatore Sirigu, a January loan arrival from Paris Saint-Germain, continued between the sticks.
Real Madrid took control of the possession at an early stage of the contest, but chances were few and far between in the opening 10 minutes and it was actually the visitors that looked the more threatening as Riviere caused problems with his clever moment inside the away side's penalty box.
Osasuna defender Tano Bonnin had to be stretchered from the field in the 15th minute after suffering a horrific injury in a challenge with Isco, but the home side kept their heads and Antonio Fausto tested Keylor Navas with a long-range attempt in the 18th minute as Real Madrid continued to struggle.
Indeed, it took the visitors until the 24th minute to register their first shot on target, but that particular effort found the back of the net as Ronaldo's low strike somehow found a route past Sirigu, who should have done better at his near post.
Osasuna refused to drop their heads, however, and levelled the scores nine minutes after conceding when Leon broke clear of Real Madrid's static defence before lifting his effort over the onrushing Navas.
The away side should have regained the lead 10 minutes before the end of the first period when Ronaldo teed up Benzema inside the Osasuna box, but Sirigu made a quite outstanding save to prevent the Frenchman from finding the back of the net.
Osasuna came close to a second in the latter stages of the first period when the ball dropped for Nikola Vujadinovic inside the Real Madrid box, but the defender's low effort was saved by the alert Navas.
At the interval, it was confirmed that Osasuna defender Bonnin had fractured his tibia and fibula in the first-half challenge with Isco, ending the 26-year-old's season. The news would have inspired the strugglers ahead of the second period and they emerged full of confidence in search of a second goal.
Leon came close to doubling his tally for the evening with a curling effort in the 49th minute, but Navas made a flying save to keep the score level during a difficult period for Real Madrid.
Indeed, the visitors lost wing-back Danilo to what looked to be a serious ankle problem just before the hour, and James Rodriguez made his comeback from the bench after missing the last six games with a calf injury, which forced Zidane into another reshuffle.
Los Blancos regained the lead in the 62nd minute, however, when Isco made use of a loose ball inside the Osasuna box before finishing into the far corner of the net.
Zidane's side should have scored a third 15 minutes from time when Ronaldo broke through on goal, but Sirigu was on hand to save, before Ramos somehow headed wide from the resulting corner.
Leon remained Osasuna's biggest threat and the number seven brought a smart save from Navas in the 83rd minute, but Real Madrid made sure of the points in the 93rd minute when Lucas Vazquez collected a pass from Marcelo before clipping the ball past the onrushing Sirigu.
Next up for Real Madrid is the first leg of their Champions League last-16 clash with Napoli on Wednesday night, before returning to La Liga action at home to Espanyol next weekend. Osasuna, meanwhile, will continue their search for a win away to Celta Vigo on February 19.