The Leicester trio all started the game as England recovered from a 6-3 deficit at half-time to win the game with a try from Jamie Gibson, three penalties from Freddie Burns and a drop goal from fly-half Rory Clegg in a tight encounter in Rosario.
England will meet Australia in the semi-finals in Rosario on Thursday.
Coach Mark Mapletoft said: “There was a lot of tension, both sides were very nervous and there were a lot of errors. We were probably lucky to go in at half time only 6-3 down. But we stood up to them defensively.
"We knew if we kept on, they would get tired and opportunities would arrive. It's a great achievement for this group to make the semi-final from an incredibly tough pool."
England U20: Freddie Burns (Gloucester); Marcus Watson (London Irish), Andrew Forsyth (Leicester Tigers), Tom Casson (Harlequins), Sam Smith (Harlequins); Rory Clegg (Harlequins), Sam Harrison (Leicester Tigers); Joe Marler (Harlequins), Jamie George (Saracens, captain), Shaun Knight (Gloucester), Calum Green (Leicester Tigers), George Kruis (Saracens), Jamie Gibson (London Irish), Will Welch (Newcastle Falcons), Alex Gray (Newcastle Falcons).
Replacements: Lee Imiolek (Sale Sharks) for Knight 49, Charlie Matthews (Harlequins) for Kruis 41, Jackson Wray (Saracens) for Gray 41, Jonny May (Gloucester) for Casson 41, Tom Homer (London Irish) for Watson 46.
Scorers: Try: Gibson. Penalties: Burns 3. Drop goal: Clegg
France U20: Brice Dulin; Clément Lagain, Remi Lamerat, Benjamin Petre, Jeremy Sinzelle; Jean Marc Doussain, Alexi Bales; Eddy Ben Arous, Mickael Ivaldi (captain), Xavier Chiocci, Jean Sousa, Georges Souvent, Kevin Gimeno, Tanguy Molcard, Gilles Arnaudies.
Replacements: Kevin Le Guen, Sylvain Abadie, Benjamin Geledan, Antoine Erbani, Jeremy Gondrand, Gilles Bosch, Julien Fritz.
Scorers: Penalties: Doussain 2, Bosch.
Yellow card: Lamerat