A two-goal salvo from Matin Mia and a late strike by Mohammed Ibrahim capped off a scintillating attacking display by Jamie Day's charges at Dhaka's Bangabandhu National Stadium as the hosts progressed to the latter stages as runners up from Group A.
Bangladesh came into the match needing nothing less than a win after a 2-0 loss to Palestine in their opening match.
But the hosts were without talismanic captain Jamal Bhuiyan and Yasin Khan for the crucial encounter as coach Day rang four changes to the line-up, handing starts to Manik Hossain Molla, Bishwanath Gosh, Riyadul Islam and Mahbubur Rahman Sufil.
He later doubled the lead in the 64th minute. The striker nicked the ball from Sri Lanka defender Jude Supan near the halfway line and drove into the box at speed before rounding the keeper and finishing.
Ibrahim put the icing on the cake for Bangladesh in the 83rd minute as he slotted Rakib Hossain's cross into the back of the net.