Media playback is not supported on this device
Tamim made an unbeaten 103 off 63 balls - his maiden T20 hundred - and Sabbir Rahman a rapid 44 in a total of 180-2.
Oman, whose target was revised first to 152 in 16 overs then 120 in 12 after rain in Dharamsala, laboured to 65-9.
As winners of Group A, Bangladesh join India, Australia, South Africa and Pakistan's group in the next phase.
Tournament newcomers Oman, who beat Ireland in their opening game, can take considerable credit for finishing second in a group containing three teams above them in the T20 rankings.
Earlier, Ireland finished bottom of Group B after losing to the Netherlands by 12 runs in a match reduced to six overs per side by rain.
Four of the six games played in Dharamsala were affected by the weather.
Tamim, on four, offered a tough caught-and-bowled chance to Amir Ali in the second over, a fierce drive which brought him the first of his 10 fours to complement five sixes.
Mixing powerful drives and pulls with deft sweeps and late cuts, he dominated a second-wicket stand of 97 in 9.1 overs with Sabbir, whose innings also featured plenty of clean hitting.
Oman's spinners came in for particularly harsh treatment as left-hander Tamim converted a 35-ball fifty into a 60-ball century, almost injuring himself as he leapt in the air in celebration.
"It was fun," said Tamim. "I told my coach I would give him a hundred in this World Cup. It feels good that I kept my promise."
The Oman pursuit was checked by the loss of two early wickets, then made almost impossible by two rain delays, the second of which - at 45-4 - left them needing 75 off 22 balls.
Shakib Al Hasan picked up 4-15 as Oman crumbled amid a succession of aggressive shots.
Tamim Iqbal hit the first century of the World Twenty20 as Bangladesh beat Oman by 54 runs to secure the final place in the Super 10s.