Pierre Webo's 71st-minute strike was enough to send dominant Osasuna through to the quarter-finals of the Uefa Cup at Rangers' expense.
Rangers players were left rueing two disappointing performances
Bernardo Romeo and Gomez Juanlu both missed good chances as Osasuna put Rangers under first-half pressure.
Charlie Adam and Gavin Rae could have put Rangers ahead against the run of play either side of the break.
But Webo fired home the crucial goal from close range to give Osasuna a one-goal advantage on aggregate.
Osasuna coach Jose Angel Ziganda had opted for Webo and Bernardo Romeo as twin strikers, with Roberto Soldado dropping to the bench.
Rangers manager Walter Smith again left his top scorer, Kris Boyd, on the substitutes' bench, with the much-maligned Filip Sebo retained up front.
Rae came into midfield and inherited the captaincy in the absence of the suspended Barry Ferguson.
Allan McGregor, who won his appeal against a two-match ban, was back in goal ahead of the hero of the first leg, Stefan Klos.
And McGregor was immediately under pressure, in large part thanks to errors from his own defenders.
A loose pass from Ugo Ehiogu handed a chance to Bernardo Romeo, who drilled into the side-netting from 12 yards.
Gomez Juanlu fired over from a 25-yard free-kick and then sent a drive flashing across the face of goal and just past the far post after another Ehiogu mistake.
Rangers were rarely seen in attack and, when Nacho Novo found himself on the edge of the box, the striker sliced his shot well over.
Pierre Webo scored the vital goal for Osasuna in Pamplona
Juanlu was found unmarked on the edge of the area at a corner but fired well over.
It was 41 minutes before Rangers had an effort on target, but David Weir's header from a corner was not strong enough to trouble Ricardo.
Adam found some space in the Osasuna box only to send a poor header well over the crossbar.
Rangers survived shouts for a penalty immediately after the break when the ball struck Ian Murray's arm.
However, Rae had a chance to put Rangers ahead following a mistake in the Osasuna defence, but his shot from just inside the box was charged down.
And Rangers appeared to have subdued Osasuna until Murray missed a header 25 yards from goal.
Weir failed to intercept a low cross and Webo swept the ball home from 12 yards off McGregor's body.
Ehiogu had a chance to level matters at the other end but made a fresh-air swipe at the ball from six yards out.
And the Spanish side comfortably completed their second victory over Rangers in European competition.
Osasuna: Ricardo, Cruchaga, Javier Flano, Corrales, Josetxo, Punal, Juanlu (Juanfran 82), Azpilicueta (David Lopez 66), Nekounam, Romeo (Raul Garcia 74), Webo.
Subs Not Used: Elia, Cuellar, Soldado, Munoz.
Booked: Corrales, Webo.
Goal: Webo 71.
Rangers: McGregor, Weir, Ehiogu, Murray, Hutton, Adam, Rae (Boyd 73), Thomson (Burke 53), Hemdani, Sebo (Prso 64), Novo.
Subs Not Used: Klos, Sionko, Svensson, McMillan.
Booked: Hutton, Ehiogu.
Ref: Claus Bo Larsen (Denmark)