Rangers’ Europa League campaign ended on a sour note as a disastrous first-half display condemned them to a 3-1 defeat against Porto at the Estadio do Dragao.
The visitors made a dream start when Djeidi Gassama nodded them ahead inside six minutes, but any optimism was short-lived.
A catalogue of defensive errors allowed Porto to turn the game on its head before the interval, with goals from teenage striker Rodrigo Mora, Francisco Moura and an Emmanuel Fernandez own goal leaving the Ibrox side in disarray.
Already eliminated before kick-off, Rangers nevertheless suffered their first defeat in nine matches, with the opening 45 minutes a worrying throwback to their struggles earlier in the season.
Porto, by contrast, cruised through the second half as they comfortably protected their advantage.
The Light Blues exit the competition with just four points from eight league-phase matches and will now shift focus back to domestic matters.
They return to the William Hill Premiership on Sunday with a trip to Easter Road to face Hibernian, hoping to stay within touching distance of leaders Hearts.
With one eye on that fixture, boss Danny Rohl was unable to call upon January arrivals Andreas Skov Olsen, Tochi Chukwuani and Tuur Rommens, all of whom were ineligible, alongside Nedim Bajrami.
Five changes were made to the starting XI, including the introduction of Max Aarons, Mohamed Diomande, Findlay Curtis, Gassama and Youssef Chermiti.
Porto, who had lost just once in their previous seven European outings and were pushing for automatic qualification, were stunned early on. Curtis delivered a teasing cross from the right which Gassama expertly headed into the turf and beyond Diogo Costa.
The hosts soon asserted control and drew level in the 27th minute when a poor attempted clearance by Jayden Meghoma gifted Mora the chance to strike from close range.
Moments later, Rangers escaped a potential penalty decision after Fernandez’s crunching challenge on Pepe inside the box survived a VAR check. But it was only a brief reprieve.
Defensive chaos struck again in the 36th minute as Jack Butland and James Tavernier collided while dealing with a long ball, allowing Moura to bundle the ball home from point-blank range.
Five minutes later, Fernandez compounded Rangers’ misery by inadvertently heading into his own net from a corner.
Rangers showed more fight after the break, with Rohl using all five substitutions as he looked ahead to the weekend. Nico Raskin tested Costa with a low effort on 63 minutes, though the resulting corner came to nothing.
Butland later needed rescuing by substitute John Souttar after straying out of position, while Porto continued to threaten without adding to their tally.
In the end, the Portuguese side saw out the contest with ease, progressing in the competition as Rangers bowed out after another sobering European night.