Match ends, Villarreal 2, Rangers 2.
Rangers twice came from behind to earn a stunning draw with La Liga side Villarreal in their opening Europa League group game.
Steven Gerrard's side - fourth seeds in their section - maintained their unbeaten record in nine European games this season thanks to Kyle Lafferty's 76th-minute equaliser.
Moreno Gerard had restored Villarreal's lead just two minutes after Scott Arfield cancelled out Carlos Bacca's first-minute opener with Rangers' second shot on goal.
Rangers survived heavy pressure from a side who showed nine changes from their weekend domestic win and Arfield had a great chance to steal a shock win in the closing moments but was denied by goalkeeper Andres Fernandez.
The Ibrox side host Rapid Vienna in their next Group G outing, with the Austrians having beaten Spartak Moscow 2-0 at home in their opener.
This was far from Rangers' best performance of the season, but it is by some distance their most impressive result.
They were second best for much of the game, but with a display of resilience and desire, they clawed themselves level twice to earn a point.
Both of their goals oozed quality in the build-up and execution and came in a second half in which Rangers were far more competitive after a meek first period.
James Tavernier was pivotal to the first equaliser and might well have had a penalty for a foul by Victor Ruiz had Daniel Candeias not picked out Arfield to side-foot past goalkeeper Andres Fernandez.
The second came from the other wing - the left - as the impressive Glenn Middleton fed Borna Barisic and his cross was tucked in beautifully by Lafferty.
Villarreal's goals were every bit as good, if not better - Bacca lobbing goalkeeper Allan McGregor with a first-time strike and Moreno chopping his way inside Barisic to fire low for the second.
This is fresh ground for Gerrard's Rangers and they grew as this game wore on.
The manager's big call was to break up his tried-and-tested central defence of Connor Goldson and Nikola Katic, with Joe Worrall replacing the latter for his debut. And, inside a minute, Goldson and, particularly, Worrall were found wanting, allowing the ball to break for Bacca to punish them.
They could easily have been further behind a Villarreal team who began the match with a number of fringe players, but they clung on doggedly.
There was much to like about Rangers going forward in the second period, although they also left themselves exposed such was the attacking gusto of Tavernier and Barisic. Perhaps that is a gamble Gerrard is happy to take - even away from home in Europe - as his full-backs played such important roles in the goals.
It is a result that should further galvanise this side and stands them in good stead for the home games to come against Rapid and Spartak.
Match ends, Villarreal 2, Rangers 2.
Second Half ends, Villarreal 2, Rangers 2.
Attempt missed. Carlos Bacca (Villarreal) header from the left side of the six yard box is close, but misses to the left. Assisted by Miguelón with a cross.
Graham Dorrans (Rangers) is shown the yellow card.
Attempt missed. Gerard Moreno (Villarreal) header from the centre of the box is close, but misses to the right. Assisted by Santiago Cazorla with a cross following a corner.
Corner, Villarreal. Conceded by James Tavernier.
Attempt saved. Scott Arfield (Rangers) right footed shot from the centre of the box is saved in the bottom left corner. Assisted by Graham Dorrans with a through ball.
Miguelón (Villarreal) wins a free kick in the defensive half.
Foul by Kyle Lafferty (Rangers).
Substitution, Rangers. Graham Dorrans replaces Borna Barisic because of an injury.
Delay over. They are ready to continue.
Delay in match Borna Barisic (Rangers) because of an injury.
Víctor Ruiz (Villarreal) wins a free kick in the defensive half.
Foul by Kyle Lafferty (Rangers).
Attempt missed. Samuel Chukwueze (Villarreal) left footed shot from outside the box is close, but misses to the right. Assisted by Manu Trigueros.
Samuel Chukwueze (Villarreal) wins a free kick in the attacking half.
Foul by Andy Halliday (Rangers).
Substitution, Villarreal. Samuel Chukwueze replaces Nicola Sansone.
Attempt missed. Glenn Middleton (Rangers) left footed shot from the left side of the box is close, but misses to the left. Assisted by James Tavernier.
Substitution, Rangers. Ross McCrorie replaces Daniel Candeias.
Goal! Villarreal 2, Rangers 2. Kyle Lafferty (Rangers) left footed shot from the centre of the box to the bottom right corner. Assisted by Borna Barisic with a cross.
Miguelón (Villarreal) is shown the yellow card for a bad foul.
Foul by Miguelón (Villarreal).
Glenn Middleton (Rangers) wins a free kick on the left wing.
Substitution, Rangers. Glenn Middleton replaces Lassana Coulibaly.
Goal! Villarreal 2, Rangers 1. Gerard Moreno (Villarreal) left footed shot from the centre of the box to the bottom right corner. Assisted by Santiago Cazorla.
Goal! Villarreal 1, Rangers 1. Scott Arfield (Rangers) right footed shot from very close range to the bottom left corner. Assisted by Daniel Candeias.
Substitution, Villarreal. Gerard Moreno replaces Ramiro Funes Mori.
Attempt missed. Pablo Fornals (Villarreal) right footed shot from outside the box is just a bit too high.
Corner, Rangers. Conceded by Miguelón.
Foul by Víctor Ruiz (Villarreal).
Kyle Lafferty (Rangers) wins a free kick on the right wing.
Attempt blocked. Santiago Cazorla (Villarreal) right footed shot from the left side of the box is blocked.
Attempt blocked. Alfonso Pedraza (Villarreal) left footed shot from the centre of the box is blocked. Assisted by Nicola Sansone.
Corner, Villarreal. Conceded by Allan McGregor.
Attempt saved. Ramiro Funes Mori (Villarreal) left footed shot from outside the box is saved in the bottom left corner.
Substitution, Villarreal. Manu Trigueros replaces Karl Toko Ekambi.
Attempt missed. Alfonso Pedraza (Villarreal) left footed shot from outside the box is just a bit too high. Assisted by Santiago Cazorla with a cross following a corner.
Corner, Villarreal. Conceded by Andy Halliday.
Attempt blocked. Nicola Sansone (Villarreal) right footed shot from outside the box is blocked. Assisted by Pablo Fornals.