Cristiano Ronaldo and Luka Modric both caused problems for the home defence on, but it was Isco who had the first chance for the visitors, dragging his shot just wide from a Ronaldo cross in the 11th minute.
The striker added his second of the match with another header five minutes before half time, pouncing after Lopez punched the ball away from a Javi Arribas strike.
© Getty Images
Despite the sending-off, Carlo Ancelotti's side immediately responded, as Isco managed to drill the ball in low from a Ronaldo delivery just before the half-time whistle.
Chances were hard to come by at the start of the second half, but Torres came close to restoring Osasuna's two-goal advantage in the 64th minute with a low ball in towards Riera, but Xavi Alonso made the clearance.
The visitors had a chance to get back on level terms 10 minutes from full time when Francisco Silva clattered into Ronaldo, earning himself his second yellow card of the game and making the contest 10-a-side.
From the resulting free kick, Pepe managed to get his head to the ball at close range to nod in the equalising goal.
The visitors pressed hard for a winner in the closing minutes of the clash, but Osasuna got numbers back to defend to ensure that honours finished even.