Soumya hit an unbeaten 62 off 32 balls, his second Twenty20 half-century and a career best, after an in-form Liton made 59 off 39 balls to guide Bangladesh 200/3 in the 20 overs.
The visitors were never up to the task when replying to the handy score and were bowled out for 152 runs in 19 overs to suffer their biggest Twenty20 defeat against Bangladesh.
Leg-spinner Aminul Islam grabbed three wickets for 34 runs and Mustafizur Rahman finished with 3-32. The other new-ball bowlers rattled Zimbabwe in the opening batting Powerplay to reduce the tourists to 3-37.
Tinashe Kamunhukamwe was top scorer for Zimbabwe with 28 before Aminul forced him to give a catch to Liton at long-off.
Aminul took the wicket of Zimbabwe captain Sean Williams (20) from the next ball to break the back bone of the batting line-up.
Richmond Mutumbami and Doland Tiripano also made 20 runs each. Carl Mumba provided late blitz with 25 off 16 balls but could only delay the inevitable.
Liton earlier set the platform for Bangladesh’s highest-ever Twenty20 score against Zimbabwe with a 92-run opening stand with Tamim Iqbal, who made 41 off 33 balls.
Teenage debutant Wesley Madhevere dismissed Tamim to break the stand and Sikandar Raza trapped Liton leg before to end his superb innings, which featured five fours and three sixes.
Soumya took the charge to ensure Bangladesh surpassed their previous highest score of 175 runs against Zimbabwe.
He struck four fours and five sixes, including two in the last two balls of the innings off Chris Mpofu to lift Bangladesh to 200.
“It was pleasing to see how the batters performed. Tamim and Liton gave us the start we wanted, and Soumya finished off really well,” said Bangladesh captain Mahmudullah Riyad.
Zimbabwe captain Williams lamented their performance.
“We missed our length with the ball, and partnerships at the top were required and that let us down,” he said.
The second and final match of the series will be held at the same ground on Wednesday.