Phil Neville’s side went ahead in the 14th minute at the Stade du Hainaut when Cameroon were deemed guilty of a back pass and, from the resulting indirect free-kick, Toni Duggan teed up a strike by England captain Steph Houghton.
Extraordinary scenes then followed as Cameroon made their displeasure known about two VAR decisions that went against them.
After Ellen White’s finish in first-half stoppage time was ruled out for offside and the decision was subsequently overturned, Cameroon’s players remonstrated at length with the officials and there appeared some doubt over whether they would resume playing.
Their anger then increased shortly after the interval when Ajara Nchout fired the ball into England’s net and a VAR review saw that effort chalked off for offside. The game was held up once more as Cameroon made further angry protests, with Nchout in tears.
England survived some scares soon after, then extended their advantage in the 59th minute through Alex Greenwood’s finish, before referee Qin Liang made another VAR check following a Ysis Sonkeng challenge on Fran Kirby, with no penalty being given.
Having come through a test that also saw them receive some rough treatment and Duggan being spat on, England will now face Norway on Thursday in Le Havre for a place in the semi-finals.
In the build-up to the match Neville had described Cameroon, who, at 46th in the world, were the lowest-ranked team in the last 16, as “very unpredictable” and few could have anticipated what would unfold here in front of a crowd of 20,148 that included Samuel Eto’o.
Alain Djeumfa’s side showed their physicality early on as Lucy Bronze was shoved over by Raissa Feudjio and Nikita Parris received an elbow in the face from Yvonne Leuko, who was perhaps fortunate only to be yellow-carded.
It was in unusual circumstances that England then grabbed the lead as Cameroon were penalised for a back pass, with goalkeeper Annette Ngo Ndom having picked the ball up when Augustine Ejangue intercepted White’s cross.
The free-kick that followed saw Duggan, whose arm was spat on by Ejangue just after the incident, roll the ball back from the edge of the six-yard box to Houghton and the skipper fired past the entire Cameroon team and in.
Duggan struck off-target soon after and Gaelle Enganamouit then blasted over England’s goal before the first half concluded in memorable style.
White slotted the ball in having been played in by Bronze, the flag went up for offside and, after the matter went to a VAR review, the score was confirmed as 2-0.
Replays showed White to have been clearly onside, but there was a livid reaction to the decision from Cameroon’s players, who were adamant there had been an error and pointed to the big screen.
It seemed possible they might not continue, before the game did finally get back under way and the whistle went for half-time. There was then a similar response from Cameroon just a few minutes into the second half when England lost possession, Nchout slammed the ball in from Enganamouit’s cut-back and the initial decision to give the goal was overturned via VAR for a marginal offside.
Again there was a lengthy pause to the game as Cameroon appeared unwilling to accept the decision. Nchout had tears in her eyes as she was comforted by her team-mates and Djeumfa.
After play eventually resumed again, Greenwood’s error at the back was almost punished as Alexandra Takounda brought a save out of Karen Bardsley.
Greenwood then made an interception after Takounda lifted the ball over Bardsley, before settling England’s nerves as she struck home from Duggan’s corner. There was yet more VAR drama thereafter, Qin making a pitchside check after Kirby went down in the box under Sonkeng’s tackle, with no penalty given.
The referee then reviewed footage again late on for a possible red card when Houghton was the victim of an awful challenge by Takounda, the final outcome being a yellow card.
England: Bardsley, Bronze, Houghton, Bright, Greenwood, Walsh, Kirby, Scott (Staniforth 78), Parris (Williamson 84), White (Taylor 64), Duggan. Unused substitutes: Telford, Stokes, McManus, Moore, Daly, Stanway, Carney, Mead, Earps.
Cameroon: Ngo, Leuko, Ejangue (Sonkeng 64), Johnson, Awona, Nchout, Abam (Abena 68), Feudjio, Yango, Onguene, Enganamouit (Takounda 54). Unused substitutes: Mambingo, Manie, Ngono Mani, Meffometou, Menene, Akaba, Ngo Ndoumbouk, Ngo Mbeleck, Ongmahan.
Referee: Qin Liang (China)