Electing to bowl, the hosts restricted Nepal to 126 for five, before chasing down the target with 27 balls to spare at the Zahur Ahmed Chowdhury Stadium.
This was Bangladesh's second win in as many games, the first one coming against Afghanistan, and the result means they have put one foot into the Super 10.
Anamul Haque top-scored for Bangladesh with a 33-ball 42 and put on 63 runs for the opening wicket with Tamim Iqbal (30) to put his side on course for a win.
The experienced Shakib Al Hasan (37) finished the game in style, clobbering partime off-spinner Sagar Pun for a four and a six.
He faced just 18 balls, hitting four sixes and a boundary. The first-wicket stand was Bangladesh's best in T20 Internationals.
Al-Amin Hossain was the best bowler with figures of 2/17. He bowled a terrific final over to keep Nepal to 126 for five after Bangladesh had won the toss.
For Nepal, skipper Paras Khadka (41) and Sharad Vesawkar (40) were the main contributors. Coming into the match with a win, Bangladesh showed intent from the word go, reducing the visiting side to 39 for three in the seventh over.
With Bangladesh bowling to a disciplined line, the Himalayan nation struggled to recover from there.