Sri Lanka took four wickets in the final over to complete a nail-biting victory over Bangladesh and keep their slim hopes of qualifying for the World Cup semi-finals alive.
Chasing a below-par target of 203 on a good batting surface in Navi Mumbai, Bangladesh needed nine runs from the final six deliveries.
However, Sri Lanka captain Chamari Athapaththu took three wickets in four balls and Nilakshi de Silva ran out Nahida Akter to bring about a thrilling victory for Sri Lanka.
The victory – Sri Lanka's first of the tournament after three defeats and two no-results against Australia and New Zealand – moves them level on four points with India and New Zealand, who meet on Thursday.
Bangladesh, however, suffered a fifth consecutive defeat since winning their tournament opener against Pakistan and have been eliminated.
Although Bangladesh made the perfect start, Marufa Akter striking with the first delivery of the match to remove Vishmi Gunaratne, they were deservedly punished for a poor fielding performance.
They gifted lifelines to Hasini Perera, who was dropped three times, and Athapaththu.
Although Athapaththu could not capitalise, dismissed lbw for 46 one ball after being put down by Rabeya Khan, Perera made Bangladesh pay.
She scored a maiden international half-century, making 85 from 99 balls and sharing an important 74-run fifth-wicket stand with De Silva.
Bangladesh, led by Shorna Akter's 3-27, dragged themselves back into the match, with De Silva's dismissal in the 34th over triggering a Sri Lanka collapse from 174-4 to 202 all out.
In reply, Sri Lanka's opening bowlers Malki Madara and Udeshika Prabodhani restricted Bangladesh to 23-1 in a lacklustre powerplay and they were later reduced to 44-3.
Sharmin Akter and Nigar Sultana Joty rebuilt their innings, putting on 82 for the fourth wicket before Sharmin retired hurt for a stubborn 64 in the 36th over.
It was advantage Bangladesh heading into the final two overs, with just 12 runs needed.
However, Sugandika Dasanayaka removed Ritu Moni and conceded just three runs before Athapaththu's chaos, with Rabeya, Nahida, captain Joty and Marufa all dismissed as Sri Lanka snatched the win at the death.
In the end, it was a game of nerves. The highly experienced Athapaththu, who ushered away a handful of team-mates as she prepared to bowl the final over, held hers. Bangladesh did not.
There will be plenty of questions about Bangladesh's batting performance. They could easily have been chasing 270 or 280 with Sri Lanka looking comfortable on 159-4 in the 30th over, but instead the target was much lower.
However, Bangladesh lacked intent from ball one, scoring at under 2.5 runs per over during the powerplay, suffering a top-order collapse, and ultimately leaving themselves too much to do.
But whatever problems there are with their batting, if they had taken their chances in the field, that 203-run target would have been considerably smaller.
It took them three attempts to break the 72-run second-wicket stand, with wicketkeeper Joty failing to take a tough chance behind the stumps to remove Perera on 23 before Athapaththu survived a caught and bowled chance against Rabeya. It was powerfully struck back at the bowler, but she got two hands to it.
Perera was dropped again on 55 and 63, the latter chance going straight to Rubya Haider Jhilik at cover, before eventually being trapped lbw by Shorna as she tried to up the ante with partners falling around her.
Later in the innings, there was also a missed stumping and a missed run-out, although the latter was a little unfortunate, with Jhilik deputising with the gloves following an injury to Joty.
Unfortunately for Bangladesh, such fielding woes are far from a one-off. They've dropped 14 catches from a possible 27 at this tournament and boast the lowest catch efficiency (48.1%) of the eight teams.
They are a side who are generally heading in the right direction – they are playing in just their second 50-over World Cup after all – but poor fielding is a glaring problem which needs attention.