England defeated France for the first time in 43 years as the Lionesses booked their place in the semi-finals of Euro 2017.
Jodie Taylor hit the only goal of the game midway through the second half to take her tournament tally to five – and secure a last-four clash with host nation Netherlands on Thursday.
It was a tight and tense affair in Deventer, and although France had chances to get back into the game, Mark Sampson’s side held on gamely for their first Euro semi-final since 2009.
Two sour points for England were the yellow card picked up by Jill Scott, which means she will miss Thursday’s match, and the injury to goalkeeper Karen Bardsley in the second half.
The game began at breakneck speed as both sides tried to find a way forward as early as possible, with Scott doing her best to dominate the midfield in the opening exchanges.
Taylor, the hat-trick hero against Scotland, fired over the top and Millie Bright headed a Jordan Nobbs free-kick just wide, while Marie-Laure Delie dragged a shot wide for France in a frantic first 20 minutes.
Scott then picked up her second caution of the tournament which renders her unavailable in four days' time.
There was a slower start to the second half until Kadidiatou Diani’s right-wing cross was met by Eugenie Le Sommer, but the Lyon forward could only head wide.
But then came England’s moment.
Lucy Bronze, so typically impressive all game, thwarted a French attack down the left and then burst forward in trademark style.
She slipped in Taylor, and the tournament’s top scorer added another goal to her tally by calmly lifting the ball over the on-rushing Sarah Bouhaddi.
Bronze was in the thick of the action at the other end soon after, as she was required to flick Grace Geyoro’s 18-yard shot over the bar.
Bardsley saved Delie’s angled shot at the near post, and a combination of the keeper and Jade Moore denied Delie again as Les Bleues sought an immediate response.
As France cranked up the pressure, Taylor and Nobbs attempted to give England some respite with a couple of long-range shots, but Bouhaddi was equal to them.
Sampson was forced into a change with just 15 minutes to go as Bardsley went off injured and was replaced by Siobhan Chamberlain. The exact same sub was made at the same stage of the 2015 World Cup in Canada.
Chamberlain had one cross to punch clear before watching a free-kick sail over her bar.
There were six agonising minutes of added time to survive but the Lionesses saw the game out with composure and maturity, and they now look forward to a semi-final against the Netherlands in Enschede.
The other semi-final will be contested by Denmark, shock victors over eight-time winners Germany, and debutants Austria.
England (4-4-2): 1 Karen Bardsley (Manchester City); 2 Lucy Bronze (Manchester City), 5 Steph Houghton (capt; Manchester City), 16 Millie Bright (Chelsea), 3 Demi Stokes (Manchester City); 7 Jordan Nobbs (Arsenal), 11 Jade Moore (Reading), 4 Jill Scott (Manchester City), 18 Ellen White (Birmingham City); 23 Fran Kirby (Chelsea), 9 Jodie Taylor (Arsenal).
Substitutes: 13 Siobhan Chamberlain (Liverpool) for Bardsley 75.
Substitutes not used: 6 Jo Potter (Reading), 8 Isobel Christiansen (Manchester City), 10 Fara Williams (Arsenal), 14 Karen Carney (Chelsea), 15 Laura Bassett (Unattached), 17 Nikita Parris (Manchester City), 19 Toni Duggan (Barcelona), 20 Alex Greenwood (Liverpool), 21 Carly Telford (Chelsea), 22 Alex Scott (Arsenal).
Head coach: Mark Sampson
Goal: Taylor 60
Bookings: Scott 33, Taylor 62
France (4-4-2): 16 Sarah Bouhaddi; 8 Jessica Houara-D’Hommeaux, 4 Laura Georges, 19 Griedge M’Bock Bathy, 22 Sakina Karchaoui; 20 Kadidiatou Diani, 23 Grace Geyoro, 6 Amandine Henry, 10 Camille Abily; 18 Marie-Laure Delie, 9 Eugenie Le Sommer.
Substitutes: 12 Elodie Thomis for Diani 66, 11 Claire Lavogez for Abily 78, 7 Clarisse Le Bihan for Delie 90.
Substitutes not used: 1 Laetitia Phillippe, 5 Sandie Toletti, 13 Camille Catala, 14 Aissatou Tounkara, 15 Elise Bussaglia, 17 Gaetane Thiney, 21 Meline Gerard.
Bookings: M’Bock Bathy 81
Head coach: Olivier Echouafni
Referee: Esther Staubli (SUI)
Attendance: 6,283