Tamim Iqbal struck a career-high 158 – breaking his own national record – as Bangladesh overcame a late fightback to beat Zimbabwe by four runs in the second One-Day International and seal the three-match series in Sylhet on Tuesday.

Tamim’s first century in nearly two years beat the 154 runs he scored against the same opponents in 2009, as Bangladesh also improved their highest total against Zimbabwe – made just two days ago – by a run to post 322/8.

Left-arm spinner Taijul Islam then grabbed 3/52 helping Bangladesh restrict Zimbabwe to 318/8 as Bangladesh, who won Sunday’s first match by 169 runs, took an unassailable 2-0 lead in the series.

All-rounder Sikandar Raza made highest 66 off 57 balls while Tinashe Kamunhukamwe (51), teenager Wesley Madhevere (52), and Donald Tiripano (55 not out) all made their first fifties but Zimbabwe still fell agonisingly short to suffer their 15th consecutive loss to Bangladesh.

The match tilted towards Bangladesh once Raza, who struck five fours and two sixes, left the crease slashing Bangladesh skipper Mashrafe Mortaza straight to third man fielder Mahmudullah Riyad in the 42nd over.

But Tiripano and Tinotenda Mutombodzi had other ideas as they added 80-run for the eighth wicket to nearly stun Bangladesh.

The partnership ended in the second ball of the final over when Zimbabwe needed 20 runs as Al-Amin Hossain dismissed Mutombodzi for 34 runs.

But Tiripano hit the next two balls for sixes bringing the equation down to six from last two balls, which nevertheless he failed to collect.

“Coming from the first game and almost winning this is awesome. We take a lot of positives going forward,” said Zimbabwe captain Sean Williams.

Bangladesh skipper Mashrafe hailed Tamim for his match-winning innings. “Tamim has been a special player, even if he hasn’t been scoring runs. The dressing room is so relaxed when he is batting,” he said.

Mushfiqur Rahim scored 55 off 50 balls and Mahmudullah made 41, but Tamim stole the spotlight.

Tamim and Mushfiqur put on 87 runs for the third wicket after opener Liton Das and Najmul were run out for nine and six runs respectively.

Mushfiqur was out from a catch at long-off by Tinotenda Mutombodzi off Wesley Madhevere, before Tamim and Mahmudullah added 106 runs for the fourth wicket.

When he reached 84, Tamim became the first Bangladeshi to complete 7,000 runs in ODIs. He pushed Sean Williams past long off to complete his 12th ODI hundred off 106 balls – his first ODI century since July 2018.

Tamim raced past his previous career-best international score in style with a six off Carl Mumba, but fell in the same over with a tired-looking shot with Mutombodzi completing the catch at long-off.

Mumba and Tiripano claimed two wickets each and somewhat contained the lower-order batsmen, but Mohammad Mithun’s unbeaten 32 off 18 balls still ensured a record score for Bangladesh against their African opponents.