Italy's Lorenzo Musetti reached his first semi-final at the French Open, and second at a grand slam, by beating Frances Tiafoe 6-2 4-6 7-5 6-2.
The 23-year-old will face defending champion Carlos Alcaraz for a place in Sunday's final after the Spaniard beat Tommy Paul 6-0 6-1 6-4.
The No.8 seed was lucky not to be disqualified after kicking a ball at a line judge, however.