England secured their place in the World Cup final, showing grit to hold off a determined Canada at Eden Park.
The Red Roses were presented their sternest challenge of the year as amateur side Canada defied expectations to match their three tries in Auckland.
But professionals England stood up to the test, with Abby Dow scoring a stunning try and three Emily Scarratt penalties enough to seal the win.
England will face hosts and holders New Zealand or France in the final.
The Black Ferns will play France in the second semi-final later on Saturday and both sides are expected to provide tougher opposition than Canada.
The Red Roses extended their winning record to 30 in a row with the semi-final victory and on 12 November will be seeking a first world title since 2014.
England fans get an unusual taste of nerves
England started the World Cup as firm favourites but as semi-finals weekend approached, the narrative subtly changed with New Zealand’s confidence growing as fast as the questions over England’s forwards-focused game plan.
Things were somewhat turbulent for England pre-match as both prop Hannah Botterman and scrum-half Lucy Packer were late injury withdrawals from the squad.
The Red Roses looked the most fragile they have all tournament as underdogs Canada enjoyed an energetic start.
Centre Scarratt looked unusually nervous as she dropped two high balls but she soon rectified things with a stylish offload to Tatyana Heard that showed England’s backs had come to play this time.
England’s opening try still came from their characteristic line-out drive as Zoe Harrison kicked to the corner instead of trying to take three points from the tee.
But the second try was a beautiful bit of running rugby in the sun as Helena Rowland, a lively presence at the back from the start, drew in enough defenders, covering half the pitch and creating enough room for Dow to go over.
It seemed as if Canada could not cope with an England side playing with more intensity than they have all tournament and that the semi-final was wrapped up after 15 minutes.
But what England flaunted in attack, they lacked in defence. Canada scrum-half Justine Pelletier exposed them first, finding a gap and chipping through for flanker Karen Paquin to score.
Soon after, England again kicked to the corner when they could have gone for goal but this time they were not rewarded because Abbie Ward was held up over the tryline.
Once again Canada gathered momentum and the pressure on England mounted as they were given a taste of their own maul, driven back into their own 22.
Off the next line-out, the Canadians went wide and Rowland was left with too much to do as centre Alysha Corrigan scored, with number eight Sophie de Goede’s conversion tying things up at 12-12.
Suddenly England fans had a feeling they have not needed to experience for about a year: nerves. This time, when England won a penalty in front of the posts, Scarratt took her chance to take a narrow lead at half-time.
More to follow.
Canada: Alarie; Grant, Corrigan, Kaljuvee, Farries; Tessier, Pelletier; DeMerchant, Tuttosi, Menin, Holtkamp, Hunt, Forteza, Paquin, De Goede (capt).
Replacements: Boag, Kassil, Ellis, Fuamba, Beukeboom, Senft, Svoboda, Holly.
England: Rowland; Dow, Scarratt, Heard, MacDonald; Harrison, Infante; Cornborough, Cokayne, Bern, Aldcroft, Ward, Matthews, M Packer, Hunter (capt).
Replacements: Davies, Muir, Brown, Galligan, Cleall, Kabeya, Aitchison, Kildunne.