Both sides saw a man sent off as Pepe and Isco cancel out Oriol Riera's first-half double.
The visiting team was looking to go level on points with Barcelona ahead of the club's game with Villarreal later in the evening, but Real saw its five-match winning streak in the league come to an abrupt end at Estadio El Sadar.
The home team made the breakthrough in the 16th minute when Oriol Riera headed home Marc Bertran’s pin-point cross, before the striker doubled Osasuna's advantage.
Sergio Ramos was then shown his 18th career red card for elbowing Riera, but Isco's low effort ensured Real trailed by just one at the break.
After a lull in proceedings in the second half, Real were boosted when Francisco Silva was shown a second yellow card for a challenge on Cristiano Ronaldo, and Pepe restored parity with 10 minutes remaining when he met Isco's center.
Real coach Carlo Ancelotti restored Diego Lopez, Daniel Carvajal and Ramos to the side after the trio sat out Tuesday's UEFA Champions League victory over Copenhagen, while Francisco Punal was suspended for Osasuna following a red card in the 3-0 defeat to Valencia.
The visiting team controlled possession early on and should have gone ahead when Isco's neat backheel found Ronaldo unmarked at the back post, but the usually prolific Portuguese dragged his effort wide.
Real was made to rue that miss after 16 minutes as Osasuna stole ahead - Bertran's sublime cross with the outside of his boot glanced home by Riera.
Real searched for a swift response and had a penalty appeal turned away by referee Carlos Clos Ramos when Luka Modric appeared to have been felled in the area by Alejandro Arribas.
For all the attacking prowess, Real struggled to breach the Osasuna defense, and Javi Gracia's side came close to a second when Emiliano Armenteros' free kick produced a fine stop from Lopez.
Seven minutes before the break the home team did find a second. Lopez’s superb reflexes kept out Damia's initial effort but Riera was on hand to head home the rebound.
Real’s situation worsened shortly afterwards when Ramos was shown a straight red card for an elbow on Riera, but the visiting club reduced the deficit on the stroke of halftime when Isco drilled into the corner from the edge of the box.
Despite the man disadvantage, Real continued to press in the second half and went close when Ronaldo dragged a left-footed effort wide of goal.
But Osasuna continued to look dangerous on the counterattack and with 20 minutes remaining Lopez had to be at his best to deny to parry Roberto Torres’ near-post effort.
Real's chances were boosted when Silva was shown a second yellow card for a lunge on Ronaldo, and the club duly equalized when Pepe headed home Isco's inviting cross with 10 minutes left to secure a valuable point.