Bangladesh beat Zimbabwe by 28 runs in the first one-day international to take a 1-0 lead in the three-match series at the Sher-e-Bangla National Stadium in Dhaka on Sunday.

Opener Imrul Kayes struck a career best 144 off 140 balls to guide Bangladesh to 271-8 before the host restricted Zimbabwe to 243-9 in 50 overs.

Kayes shared a record 127-run stand with all-rounder Mohammad Saifuddin for the seventh wicket as the host recovered from 139-6.

Saifuddin made 50 off 69 balls — his maiden half-century in his fourth ODI — before Bangladeshi bowlers restricted Zimbabwe to 243-9 for their 11th successive win over Zimbabwe.

Sean Williams made the highest score for Zimbabwe with 50 not out off 58 balls.

Spinners Mehidy Hasan (3-46) and Nazmul Islam (2-38) recorded their career best bowling figures as Zimbabwe struggled to get its momentum back after Bangladesh's batting onslaught.

Sean Williams and Kyle Jarvis offered late resistance with a 67-run ninth wicket stand after eight wickets fell for 169 runs.

But Mahmudullah removed Jarvis for 37 before the pair could pose any threat to Bangladesh.

Williams remained unbeaten on 50 after facing 58 balls and hitting five boundaries.