England will play holders New Zealand in the semi-finals of the World Cup at Wembley next Saturday after a comfortable win over France.
Richard Agar's French side silenced the Wigan crowd of 22,276 when Vincent Duport scored early on.
But two tries each from wingers Josh Charnley and Ryan Hall helped England build a 22-6 half-time lead.
Wiganer Sean O'Loughlin and Huddersfield's Brett Ferres extended their advantage after the break.
The result means England take their place at next weekend's double-header, with their fixture against the world champion Kiwis followed by Australia playing either Samoa or Fiji in the second semi-final.
Steve McNamara's side have conceded three tries since their opening-day 28-20 defeat by Australia in Cardiff, but will need to continue to improve ahead of their meeting with the Kiwis.
As they have done for most of this tournament, England once again played in patches against the French and will need a more complete performance against a team who have scored 34 tries in four games at the World Cup.
The odds were always stacked against the French in Wigan. Agar's team only sneaked out of their group thanks to a slender 9-8 victory over Papua New Guinea and had not beaten their opponents in 15 attempts - a sequence dating back to February 1981.
England played France twice last year and won comfortably both times, scoring a total of 92 points against just 10 mustered by their opponents.
But if the partisan Wigan crowd were hoping for another one-sided encounter against a side who had managed just two tries in three group games, they were in for a nasty surprise.
France started strongly on a chilly November night and took the lead when Duport barged over after collecting an offload from Sebastien Raguin.
Half-back Thomas Bosc added the extras in front of a stunned and silent crowd at the DW Stadium.
But they soon found their voice when man of the match Sam Tomkins - who has left Wigan for New Zealand Warriors in the most expensive transfer in rugby league history - produced a delicious offload for recalled winger and former Cherry and Whites team-mate Charnley to cross in the corner.
Kevin Sinfield superbly added the extras, as he did minutes later after Leeds winger Hall profited from another brilliant pass from Tomkins, this one of the long and flat variety.
The England wingers continued to extend their team's advantage when Charnley easily finished after a superb curved run and pass from centre Kallum Watkins, while Hall scored after centre Leroy Cudjoe created an opening for him.
That took Hall to eight for the tournament - making him the leading try-scorer in the competition.
England have been accused of playing their best rugby in 20-minute bursts so far at the tournament and they scored their four first-half tries in a 19-minute period.
They went further ahead after the restart when Hall knocked down a kick from Rangi Chase and Cudjoe passed for Wigan skipper O'Loughlin to barge over.
But the contest became increasingly scrappy, with both sides squandering possession and failing to build any sustained pressure.
And McNamara's team did little to appease those who wanted a more complete performance ahead of the match against the Kiwis.
Tomkins's night ended early when he was sin-binned for a professional tackle but Ferres did at least add some further gloss to the scoreline when he finished a smart move late on.
England: Tomkins, Charnley, Watkins, Cudjoe, Hall, Chase, Sinfield, Graham, McIlorum, Hill, S. Burgess, Westwood, O'Loughlin. Replacements: Roby, G. Burgess, Ferres, Farrell.
France: Escare, Cardace, Baile, Duport, Greenshields, Bosc, Barthau, Fakir, K. Bentley, Casty, Elima, Raguin, Mounis. Replacements: Pelissier, Khattabi, Maria, Simon.
Referee: Ashley Klein (Australia)