Set a target of 314 to win, Sri Lanka got home with two balls and four wickets in hand as Charith Asalanka starred with an unbeaten 83 off 72 balls with five fours and four sixes.
Opener Shubman Gill and Shreyas Iyer made short work of a paltry chase of 100 as India won the ODI series decider with a comprehensive seven-wicket victory over South Africa at the Arun Jaitley Stadium in New Delhi on Tuesday.
Shami, India's pace spearhead, returned figures of 3-18 to help dismiss the Black Caps for 108 after the hosts elected to bowl first in Raipur.
India skipper Rohit Sharma batted at number nine with an injured thumb and hit an unbeaten 51 off 28 balls to give Bangladesh a scare as India ended on 266-9 in 50 overs.
Opener Ishan Kishan hit the fastest-ever double century in one-day internationals in just 126 balls to set up a 227-run consolation win for India in the third match against Bangladesh on Saturday.
Chasing 187 for victory, the hosts fell to 136-9 before Mehidy and Mustafizur Rahman put together a 51 run partnership — Bangladesh's best ever for the final wicket — to achieve their target with 24 balls to spare in Dhaka.
Virat Kohli smashed a brilliant attacking century to set up a convincing 67-run win for India in the opening one-day international against Sri Lanka on Tuesday.
New Zealand's spinners strangled Pakistan on a turning wicket to win the second ODI by 79 runs Wednesday and level the three-match series 1-1.
Kohli's third century in his last four matches and 116 by opener Shubman Gill powered India to 390-5 in Thiruvananthapuram, Kerala.