Felix Auger-Aliassime will face Milos Raonic in an all-Canadian Stuttgart Open semifinal after saving a match point in a battling defeat of Dustin Brown.
Brown upset fellow German Alexander Zverev in the second round, but Auger-Aliassime beat the enigmatic qualifier 7-6 (7-3), 6-7 (2-7), 7-6 (7-2) on Friday.
Auger-Aliassime was unable to make his main-draw debut at the French Open due to a groin injury, but has made an encouraging start to the grass-court season.
The 18-year-old broke Brown to level at 5-5 in the final set after saving a match point and won the decisive tie-break, having stormed into a 5-0 lead.
Raonic won 89 per cent of points on his first serve in a 6-4, 6-4 defeat of Marton Fucsovics.
READ | Bertens wins twice in a day to reach semifinals on home soil
Matteo Berrettini and Jan-Lennard Struff will contest the other semifinal following straight-sets defeats of Denis Kudla and Lucas Pouille respectively.
Defending champion Richard Gasquet reached the last four of the Rosmalen Grass Court Championships with a 7-6 (10-8), 6-4 victory over Nicolas Jarry - conqueror of Stefanos Tsitsipas in the second round.
Frenchman Gasquet will now take on Jordan Thompson, who rallied to beat fellow Australian and third seed Alex de Minaur 4-6, 6-2, 6-3 in 's-Hertogenbosch.
Second seed Borna Coric saw off Cristian Garin 6-7 (4-7), 6-3, 7-6 (8-6) to set up a showdown with Adrian Mannarino, who ended David Goffin's title hopes.