Left-arm spinner Shakib Al Hasan grabbed three wickets for eight runs as Afghanistan, sent in to bat, were skittled for 72 in 17.1 overs at the Sher-e-Bangla stadium.
The meagre total was the second lowest in the World T20 competitions, barely surpassing Ireland's 68 against the West Indies in 2010.
A sell-out home crowd of 25,000 then cheered every run as Bangladesh raced home in 12 overs, with opener Anamul Haque sealing the emphatic win with a six off Samiullah Shenwari.
Haque, who put on 45 for the first wicket with Tamim Iqbal, was unbeaten on a 33-ball 44 that was studded with three sixes and four boundaries.
With just one team going into the Super-10 stage from the preliminary group A that also has debutants Hong Kong and Nepal, the defeat left Afghanistan facing an early exit.
The Afghans had beaten Bangladesh in the preceding Asia Cup one-day tournament, but faltered badly on Sunday to reduce a much-anticipated contest to a one-sided affair.
Six qualifiers -- Ireland, Afghanistan, Nepal, Hong Kong, the United Arab Emirates and the Netherlands -- joined Zimbabwe and Bangladesh in the preliminary league of two groups.
The two group winners will then contest the Super-10 round with the top eight Test nations -- Australia, Pakistan, South Africa, England, New Zealand, India, Sri Lanka and the West Indies -- from March 21.
The final is on April 6 in Dhaka.
Afghanistan 72 all out in 17.1 overs (Gulbadin Naib 21, Shakib Al Hasan 3-8, Abdur Razzak 2-20)
Bangladesh 78-1 in 12 overs (Tamim Iqbal 21, Anamul Haque 44 not out)
Bangladesh won by nine wickets.