Match ends, Rangers 2, PSV Eindhoven 2.
Rangers' hopes of ending their 12-year absence from the Champions League group stage are on a knife-edge after an enthralling draw with PSV Eindhoven.
The Ibrox side fell behind to Ibrahim Sangare's thumping finish, only to hit back swiftly with Antonio Colak's well-crafted equaliser.
Goalkeeper Walter Benitez's howler, spilling a Tom Lawrence free-kick, gifted the hosts a second-half lead.
But they were denied a comeback win by Armando Obispo's 78th-minute header.
Slick PSV then almost snatched victory in a breathless contest, with Jon McLaughlin making a sprawling save from Philipp Max.
The sides meet again in the play-off second leg next Wednesday in Eindhoven to decide who progresses to the lucrative group stage.
Rangers had fed off the intensity of a febrile Ibrox to burn past Union St-Gilloise in the previous round, overcoming a two-goal first-leg deficit for the first time in their history, but talent-laden PSV were a serious step up in quality.
They had Rangers on the ropes for much of the second half as Giovanni van Bronckhorst's side struggled to match the electric home performances of last season's run to the Europa League final.
It's the Champions League top table where Rangers now long to be and they travel to the Netherlands with their dream very much intact having posed PSV's vulnerable defence problems.
Ruud van Nistelrooy - a long-time friend and former Netherlands team-mate of Van Bronckhorst - has begun his managerial career with his PSV team delivering a glut of goals this season.
They wasted little time in showing their threat as Luku de Jong slipped between static defenders to clip a lovely delivery from Ismael Saibari narrowly over. The offside flag had been raised, yet the warning was clear.
Malik Tillman, deployed just off lone striker Colak, tried to get Rangers going, sending a drive skidding straight at Benitez then jinking towards the six-yard box before a heavy touch spoiled his build-up work.
Rangers were screaming for a penalty moments later but their appeals yielded nothing further than a VAR check after Connor Goldson's header hit the outstretched upper arm of Jordan Teze.
PSV continued to look a menace on the counter-attack and after Rangers survived a let-off at a corner, with Tillman slicing an attempted clearance into McLaughlin's arms, the Dutch made their next one count.
The impressive Cody Gakpo's delivery wasn't dealt with by Rangers and when Teze got a toe to the loose ball to tee up Sangare, the midfielder applied a thumping finish.
Rangers' response was rapid and emphatic. Steven Davis' splendid pass sprung James Tavernier down the right and the full-back's cutback was expertly swept first time into the far corner by Colak for the striker's fourth goal in four games.
The goal galvanised Rangers and Tavernier sent a header into Benitez's arms then Colak had a near-post effort parried away by Benitez.
The momentum was soon punctured, though, as PSV began to assert dominance. Ibrox held its collective breath when a simple move cut the hosts open. De Jong's flick-on from a long ball was seized upon by Saibari, whose poked shot ruffled the side-netting on its way past.
Saibari was in the thick of things, rifling a shot too high before darting into the box and forcing a low stop from McLaughlin.
Rangers were hanging in there, and their grit was rewarded with a goal out of nowhere. There looked little danger when Lawrence's free-kick from 30 yards out bobbled towards Benitez, only for the keeper to inexplicably let the ball wriggle out of his grasp and trickle over the line.
PSV did not let the howler prey on their minds, and struck back when Obispo rose to meet a corner and divert his header in off the bar.
Man of the match - Cody Gakpo
Rangers undone by set-piece frailties
Van Bronckhorst will be concerned that Rangers twice - avoidably - conceded from corners.
PSV possess plenty of height, but their opener was a scruffy affair stemming from a routine delivery that should have been dealt with, while Obispo was afforded too much space for the second. Rangers must provide sterner resistance next week.
The hosts also found themselves stretched in midfield at times, with Gakpo and Saibari offering pace and width and PSV not afraid to go direct.
Yet while only operating at their peak in bursts, van Bronckhorst's men showed resolve to secure a draw and trouble a defence that has conceded in all six games this season.
Colak continues to grow in stature as the Ibrox side's striking figurehead, with the Croatia international having netted for the fourth game running. His link-up play and finishing prowess will be crucial in the decider.
Tillman and Lawrence also offered glimpses of inspiration and Rangers will head to Eindhoven confident they can create the chances to progress to the Champions League promised land where a £30m-plus windfall awaits.
What did they say?
Rangers boss Giovanni van Bronckhorst: "We gave everything. At moments we played really well against a quality side. The differences in 90 minutes weren't that big.
"Happy with the performance, we could have had a better result but also worse. So everything to play for next week."
PSV Eindhoven manager Ruud van Nistelrooy told BT Sport: "First half Rangers were the better team, we struggled. The fans were behind them and we had to go through a difficult phase.
"The better of the chances were for us in the second half and 2-2 is a fair result."
Rangers have a Scottish Premiership trip to face Hibernian on Saturday (12:30 BST) before their Champions League fate will be decided in the second leg with PSV next Wednesday (20:00).
- 6GoldsonBooked at 57mins
- 10DavisSubstituted forKamaraat 71'minutes
- 71TillmanSubstituted forWrightat 71'minutes
- 5Ramalho Silva
- 4ObispoBooked at 50minsSubstituted forBranthwaiteat 79'minutes
- 28SaibariBooked at 68mins
- 9de JongBooked at 53mins
- 8van Ginkel
- 33Moreira de Oliveira
- Daniele Orsato
- Shots on Target
Second Half ends, Rangers 2, PSV Eindhoven 2.
Borna Barisic (Rangers) wins a free kick in the attacking half.
Foul by Ismael Saibari (PSV Eindhoven).
Foul by Scott Wright (Rangers).
Érick Gutiérrez (PSV Eindhoven) wins a free kick in the defensive half.
Foul by Luuk de Jong (PSV Eindhoven).
Connor Goldson (Rangers) wins a free kick on the right wing.
Foul by Antonio-Mirko Colak (Rangers).
Jarrad Branthwaite (PSV Eindhoven) wins a free kick on the left wing.
Foul by Borna Barisic (Rangers).
Joey Veerman (PSV Eindhoven) wins a free kick in the defensive half.
Attempt blocked. Antonio-Mirko Colak (Rangers) right footed shot from outside the box is blocked. Assisted by James Tavernier.
Corner, Rangers. Conceded by Ibrahim Sangaré.
Attempt saved. Philipp Max (PSV Eindhoven) left footed shot from the centre of the box is saved in the centre of the goal. Assisted by Érick Gutiérrez with a through ball.
Hand ball by Antonio-Mirko Colak (Rangers).
Substitution, PSV Eindhoven. Jarrad Branthwaite replaces Armando Obispo.
Goal! Rangers 2, PSV Eindhoven 2. Armando Obispo (PSV Eindhoven) header from the centre of the box to the top left corner. Assisted by Cody Gakpo with a cross following a corner.
Corner, PSV Eindhoven. Conceded by James Sands.
Foul by Scott Wright (Rangers).