Sabbir Rahman's career-best 80 propelled Bangladesh to a 23-run victory over shaky Sri Lanka in the fifth match of the Asia Cup, in Dhaka.
Rahman - whose previous-highest T20I score was 51no - struck 10 fours and three sixes in his 54-ball knock, adding 82 in 67 balls for the third wicket with Shakib Al Hasan (32) as Bangladesh recovered from 2-2 after winning the toss to post 147-7.
Dinesh Chandimal (37) and Shehan Jayasuriya (26) steered Sri Lanka to 76-1 in reply before Shakib Al Hasan (2-21) choked the chase, Sri Lanka sliding to 124-8. It's the first time Bangladesh have beaten Sri Lanka in T20Is in five matches.
After winning their opening match against United Arab Emirates, Sri Lanka went into the match with their sights set on a second straight win that would lift them to four points alongside India.
Angelo Mathews, leading the side in the absence of Lasith Malinga (knee injury), struck with the second ball of the match by trapping Mohammad Mithun lbw for a duck.
Fellow opener Soumya Sarkar fared only one ball better, caught at mid-off by Mathews courtesy of a leading edge off Nuwan Kulasekara to make it 2-2.
Rahman kick-started the innings with 18 runs off four Kulasekara deliveries - including a sweetly-timed six over long on - and posted his third T20I fifty off just 38 balls.
Together with Shakib Al Hasan, he added 50 in 45 balls before being fifth out at the end of the 16th over when he picked out Jayasuriya at deep mid-wicket off Dushmantha Chameera - Mahmudullah landing some lusty blows to club 23no off 12 balls at the end of the innings.
Sri Lanka's pursuit seemed well-placed at 76-1 as Chandimal and Jayasuriya rallied following the loss of Tillakaratne Dilshan (12), well caught by Soumya Sarkar over his shoulder at mid-off.
But their victory hopes ebbed away from the moment Chandimal reverse-swept Mahmudullah to Taskin Ahmed at point - the first of five wickets to fall for 26 runs.
In the following over Jayasuriya advanced only for Shakib Al Hasan to fire the ball outside off stump, Nurul Hasan completing the stumping off a wide.
The slump continued as Mustafizur Rahman - who finished with superb figures of 1-19 off four overs - trapped Thisara Perera bang in front with a full delivery before Siriwardana and Mathews both miscued trying to force the rate.
By the time Al-Amin Hossain mopped up Shanaka and Kulasekara in three balls in the final over, the game was up.
Bangladesh climb above Sri Lanka into second place as a result, level with leaders India on four points but in second spot due to an inferior run-rate.