The West Indies, who finished fourth in pool play, will now face the unenviable task of playing top qualifiers Australia, with that match to be played at the Basin Reserve on Wednesday.
England, having sneaked through after opening their tournament with three straight defeats, will face South Africa in the other semifinal at Hagley Oval on Thursday.
It was a fittingly dramatic conclusion to pool play in a tournament that featured a number of tight finishes, with four teams separated on the standings by only two points.
Australia (14 points) advanced through the round robin with a perfect seven-win record while South Africa (11) won five matches to finish second. England (8) recovered well after dropping their first three games while the West Indies (7), India (6) and New Zealand (6) all won three matches, with the Windies advancing courtesy of a wash-out against South Africa.
All had looked lost for defending champions England but they secured their spot in knockout play following a win over Bangladesh in Wellington today, earning a fourth straight victory by beating the World Cup debutants by 100 runs.
England didn't have the best start to their day after electing to bat, losing Danni Wyatt and Heather Knight in the opening eight overs in a slow start. Opener Tammy Beaumont only managed one boundary in a 69-ball 33 in a game England needed a big win to determine a better net run-rate than India.
The middle order of Sophia Dunkley (67 off 72), Nat Sciver (40 off 57) and Amy Jones (31 off 57) picked things up somewhat to see England reach 234 -6.
Bangladesh never looked serious in chasing the tally, not reaching 50 until the 21st over and by then they had lost both openers. The slow approach continued as they almost completed their 50 overs, bowled out for 134 in the 48th over.
Sophie Ecclestone (three for 15 from 10 overs) was near perfect in restricting Bangladesh while spinner Charlie Dean took some late wickets to finish with 3-31.