The 30-year-old right hander smashed seven sixes and 11 boundaries during his 58-ball 123 to give New Zealand, who reached 191-3 in their 20 allotted overs, a rampaging start to the group D match played under overcast conditions.
McCullum’s clean hitting made it gloomy for Bangladesh who were restricted to 132-8 in their 20 overs, with Tim Southee (3-16) and Kyle Mills (3-33) sharing the spoils.
Nasir Hossain played a lone fighting hand with an impressive 39-ball 50, studded with six boundaries and a six while opener Mohammad Ashraful made 21. Shakib Al Hasan fell for 11.
It was all McCullum when New Zealand batted after being sent by Bangladesh.
McCullum hit two sixes in Abdur Razzak’s last over of the innings to go clear of South African Richard Levi’s previous highest score of 117 made against New Zealand in Hamilton earlier this year.
He fell caught off the last delivery to end Bangladesh’s miseries but not before helping New Zealand to 63 runs off the last four overs.
New Zealand lost Martin Guptill in the fourth over but McCullum ensured a big total with his ruthless slogging, hitting Hasan for two sixes in his successive overs.
He added 94 for the second wicket with James Franklin who made 35 and 78 for the third wicket Ross Taylor (14).
McCullum reached his tenth half-century off just 29 balls with the first of two successive boundaries off Ziaur Rahman and continued with the same aggression.
He was dropped on 92 before hitting two boundaries off Elias Sunny to complete his ton off 51 balls.
The knock was McCullum’s second T20 century. His first came against Australia at Christchurch in 2010.
Pakistan is the third team in the group, from which the top two will qualify for the Super Eights round.