Defending champions England continued their World Cup resurgence as they beat Bangladesh by 100 runs to march into the semi-finals with their fourth successive victory.
Sophia Dunkley offered 67 from 72 balls after a knock of 40 from Nat Sciver as England recovered from 96-4 to eventually close out on 234-6.
Bangladesh rarely threatened in reply and had their efforts with the bat stifled by three wickets apiece for Sophie Ecclestone and Charlie Dean before being bowled out for 134 after 48 overs.
It capped an impressive turnaround for England, whose semi-final hopes had looked in doubt after three consecutive defeats to begin the group phase of the competition.
England will now face South Africa for a place in the final after the Proteas beat India by three wickets having needed one run to win from the final ball.
- Scorecard: England Women vs Bangladesh Women
- Live cricket on Sky Sports | @SkyCricket
- Download the Sky Sports App
Having elected to bat England lost Danni Wyatt (six) and skipper Heather Knight (six) cheaply before Tammy Beaumont was next to fall for 33 off 69 deliveries after a 60-run partnership with Sciver, who was then trapped lbw by Fahima Khatun to leave her side four wickets down after 26 overs.
In came Dunkley to re-stabilise the innings, picking Bangladesh apart on her way to a 72-run partnership with Amy Jones (31 off 47 balls).
Katherine Brunt (24 not out off 22 balls) and Ecclestone (17 not out off 11 balls) lifted the total upon Dunkley's eventual departure to set Bangladesh a target of more runs than they had ever scored in a one-day international.
Bangladesh found themselves 96-5 in reply as Ecclestone claimed the wickets of three of the top four, Lata Mondal top scoring with 30 until she was caught by Kathryn Cross off the bowling of Dean.
Freya Davies also impressed on her World Cup debut in the absence of the rested Anya Shrubsole, taking out Rumana Ahmed and Ritu Moni for figures of 2-36 from 10 overs.
Knight: Says a lot about this team
England captain Heather Knight: "I'm really pleased, I probably would have liked a few more runs, 250/260, but the wicket was very slow. And we were clinical with the ball.
"The batters have all had a little time out in the middle to get used to the conditions here.
"It says a lot about this group, the way we have turned things round. Not getting too down, we were on the wrong end of a few close ones. I would have certainly bitten your hand off a few weeks ago to be in this situation."
What's next?
Watch England take on South Africa in Christchurch live on Sky Sports from 2pm on Thursday, with a place in the final against either Australia or the West Indies at stake.