
Chasing a modest target of 137 at Old Trafford, India reached 139-5 with 19 balls to spare after restricting Bangladesh to 136-8.
The victory means India must beat four-time winners Australia in their final Group match on Sunday at a sold-out Lord's to secure a place in the semifinals.
"We're all set for Australia," India captain Harmanpreet Kaur said after the match. "We'll get a lot of confidence if we win that."
India's chase was anchored by opener Shafali Verma, who capitalised on an early reprieve after being dropped behind the stumps in the first over. She dominated the powerplay as India raced to 63-1 and brought up her second half-century of the tournament off just 29 deliveries.
Verma was eventually stumped for 53, but by then India had taken firm control of the chase. Yastika Bhatia contributed 23 runs, while Jemimah Rodrigues added 26.
"I was sad I got out," Verma said. "I would've been happier had I batted through."
Earlier, India endured a sloppy outing in the field, dropping four catches and receiving two warnings for medium-pacer Nandni Sharma's repeated overstepping on the pitch.
Bangladesh, however, failed to fully exploit the lapses due to a lack of big-hitting in the middle order. Juairiya Ferdous top-scored with 33 before being caught and bowled by Sharma in the ninth over, while captain Nigar Sultana made 32 before being stumped late in the innings.
Australia have already secured four consecutive wins in the tournament, including a convincing victory over South Africa, and head into Sunday's encounter as favourites against India, reports UNB.