Kike Garcia earned the point for the visitors with an equaliser five minutes into the second half, cancelling out Vinicius Junior's curling long-range opener shortly before the interval.
The result was made even more impressive by the fact that Osasuna had to see out the final 12 minutes with 10 men after Unai Garcia was sent off for bundling into Karim Benzema inside the box.
The returning French striker - back in the side after a spell on the sidelines through injury - stepped up to take the resulting penalty himself, but crashed his spot kick against the crossbar.
Benzema also saw a goal disallowed moments later as his comeback went from bad to worse, and Osasuna held out for a point which prevents Madrid from moving back to the top of La Liga.
Instead, the European champions remain in second place, level on points with Barcelona but behind their Clasico rivals on goal difference.
Aiming to win their opening seven games of a La Liga season for only the fourth time, and the first in 35 years, Madrid were forced to be patient in the first half by an Osasuna side enjoying their best start to a campaign since 2005-06.
When the breakthrough eventually came it was in unorthodox fashion, with Vinicius floating what looked like a cross into the box but seeing it curl all the way into the bottom corner without anyone getting a touch.
It was a major blow for Osasuna just before half time, but they responded well to restore parity five minutes after the restart when Garcia nodded past Andriy Lunin in the Real Madrid goal.
It looked as though that might not be enough when Jagoba Arrasate's side were hit with the double blow of a red card and a penalty in the 78th minute, but Benzema went for power instead of placement from the spot and the ball clipped the top of the bar on its way over the top.
A disallowed goal moments later further exacerbated the Ballon d'Or favourite's frustrations on his return to the side, and they echoed the team as a whole as Madrid dropped points for the first time this season.
Carlo Ancelotti's men will now turn their attention to a Champions League tie with Shakhtar Donetsk on Wednesday, while Osasuna are next in action against Valencia on Friday.