Wales will play either Japan or South Africa in the World Cup semi-finals after securing a nailbiting 20-19 victory over France in Oita on Sunday.
In a drama-filled match, Les Bleus held the upper hand for most of the 80 minutes despite playing with 14 men for the last half hour after Sebastien Vahaamahina was red carded for foul play, with only a late converted try from Ross Moriarty coming to Wales' rescue.
Aaron Wainwright also scored a try for Wales and Dan Biggar finished with a 10-point haul after succeeding with two conversions and a couple of penalties.
For France, Vahaamahina, Charles Ollivon and Virimi Vakatawa crossed the whitewash and Emile Ntamack kicked two conversions.
The match started at a frenetic pace with both sides giving the ball plenty of air and that strategy initially worked in France’s favour as they scored two early tries in quick succession.
In the fifth minute, Les Bleus were camped close to Wales’ try-line and Vahaamahina bounced off two would-be tacklers before diving over for his first-ever Test try.
Ntamack’s conversion attempt struck an upright but France came back strongly from the restart and were soon on the attack again. And in the ninth minute that tactic reaped reward for France when Ollivon crossed for a brilliant try. This, after Vakatawa made a superb line break inside his half before offloading to Ntamack, who got a pass out to Antoine Dupont. The scrum-half did well to draw in the last defender before getting a pass out to Ollivon, who showed the cover defence a clean pair of heels before scoring under the posts.
The conversion from Ntamack meant Les Bleus were leading 12-0 after 10 minutes but shortly afterwards Guilhem Guirado lost the ball in contact 10 metres inside his half and Wainwright gathered the loose ball before racing away to score his first five-pointer for Wales.
Although that try came against the run of play, it came at the right time for Wales as they held the upper hand for the next 10 minutes and Biggar narrowed the gap to two points when he slotted a penalty midway through the half.
In the 28th minute, Ross Moriarty came on as an injury replacement for Josh Navidi but shortly after he came on he was yellow carded for a dangerous tackle on Gael Fickou.
With a numerical advantage, Les Bleus regained the initiative and on the hour-mark Damian Penaud joined a backline attack just outside France’s 22 before offloading to Vakatawa, who crossed for his side’s third try, despite a desperate tackle from Wyn Jones.
Ntamack added the extras which meant France were leading 19-10 as the teams changed sides at the interval.
The second half started more cautiously but France were dealt a massive blow when Vahaamahina received his marching orders for elbowing Wainwright in his face at a maul in the 49th minute.
Five minutes later Biggar reduced the deficit to six points when he added his second penalty after Fickou infringed at a ruck.
The next 20 minutes was an arm wrestle as Wales went in search of the win but France did well to stay in the game and even had chances to to extend their lead when they were on the attack inside Wales’ 22. But handling errors and resilient defence from Wales meant they had nothing to show for their efforts.
In the 74th minute, Wales’ forwards put great pressure on a French scrum close to Les Bleus’ try-line and Tomos Williams did brilliantly to rip the ball from Baptiste Serin’s arms and Justin Tipuric collected it. He was tackled just short of the line before Moriarty gathered at the ensuing ruck and burrowed his way over the whitewash.
Biggar slotted the conversion to give his side a 20-19 lead and although France tried desperately to strike back during the game’s closing stages, Wales finished stronger and held on for the win which secured their place in the semi-finals.
Tries: Wainwright, Moriarty
Cons: Biggar 2
Pens: Biggar 2
Yellow Card: Moriarty
Tries: Vahaamahina, Ollivon, Vakatawa
Cons: Ntamack 2
Red Card: Vahaamahina
Wales: 15 Liam Williams, 14 George North, 13 Owen Watkin, 12 Hadleigh Parkes, 11 Josh Adams, 10 Dan Biggar, 9 Gareth Davies, 8 Josh Navidi, 7 Justin Tipuric, 6 Aaron Wainwright, 5 Alun Wyn Jones (c), 4 Jake Ball, 3 Tomas Francis, 2 Ken Owens, 1 Wyn Jones
Replacements: 16 Elliot Dee, 17 Rhys Carre, 18 Dillon Lewis, 19 Adam Beard, 20 Ross Moriarty, 21 Tomos Williams, 22 Rhys Patchell, 23 Leigh Halfpenny
France: 15 Maxime Medard, 14 Damian Penaud, 13 Virimi Vakatawa, 12 Gael Fickou, 11 Yoann Huget, 10 Romain Ntamack, 9 Antoine Dupont, 8 Gregory Alldritt, 7 Charles Ollivon, 6 Wenceslas Lauret, 5 Sebastien Vahaamahina, 4 Bernard Le Roux, 3 Rabah Slimani, 2 Guilhem Guirado (c), 1 Jefferson Poirot
Replacements: 16 Camille Chat, 17 Cyril Baille, 18 Emerick Setiano, 19 Paul Gabrillagues, 20 Louis Picamoles, 21 Baptiste Serin, 22 Camille Lopez, 23 Vincent Rattez
Referee: Jaco Peyper (South Africa)
Assistant referees: Nic Berry (Australia), Paul Williams (New Zealand)
Television match official: Marius Jonker (South Africa)