England have become the first team to book their spot in the Rugby World Cup final, defeating Canada 26-19 in a thriller at Eden Park.
After a narrow first half, the Red Roses hung on in the second despite a spirited performance from Canada, sealing their 30th straight victory in the process.
As the pre-tournament favourites, England will face the winner of the Black Ferns and France, who face off on Saturday evening.
Victory next Saturday would give England their third Rugby World Cup title, after winning the 1994 and 2014 tournaments.
On a 29-test winning streak, England lived up to their favourites tag in the first semi-final, and raced out to a 12-0 lead through tries to loose forward Marlie Packer, and winger Abby Dow.
But a stunning effort from Canada that saw halfback Justine Pelletier catch England napping after a scrum before stabbing a kick through the line allowed flanker Karen Paquin to score, and leave the favourites shell-shocked.
Canada took control of the first half, and levelled the scores before the break as centre Alysha Corrigan crossed over thanks to an overlap on the left, before the boot of captain Sophie de Goede locked the scores at 12-12.
England restored their advantage with the final act of the first half, as centre Emily Scarratt converted a penalty for a slim three-point advantage going into the second spell.
A Scarratt penalty pushed England's lead out to 18-12, before the Red Roses scored one of the tries of the tournament to put one foot in the final.
Defending on their own tryline, a turnover saw winger Claudia MacDonald break downfield, before finding Dow on the opposite flank.
And despite defenders around her, Dow held off all challengers to race away and score her second of the match, touching down in the right corner.
A yellow card to prop Vickii Cornborough reduced England to 14, and threatened to give Canada a route back into the semi-final, only for the Red Roses to keep their opposition scoreless when at a numerical disadvantage.
Once England were back to 15, though, Canada gave themselves hope as replacement loose forward Tyson Beukeboom went over from close range to bring the scores back to 23-19.
But one last Scarratt penalty took the scoreline to a converted try, leaving Canada needing to score to force extra time at the very least.
Despite valiant performances from de Goede and Pelletier, England's big game experience counted in their favour, shutting down play to seal victory and give themselves a chance at the trophy next week.
Canada meanwhile will face the loser of Saturday's second semi-final, and will play for third place as a curtain raiser to next week's decider.
England 26 (Dow 2, Packer tries; Scarratt conversion; Scarratt 3 penalties) Canada 19 (Paquin, Corrigan, Beukeboom tries; De Goede 2 conversions)
Catch the Rugby World Cup live on Spark Sport or free-to-air on Three, or join Newshub from on Saturday for live updates of both semi-finals