A fine all-round performance from Ray Price helped Zimbabwe steal a thrilling two-wicket win over Bangladesh to go 1-0 up in the three-match one-day series.

Price made an unbeaten 24 and shared a 35-run stand for the ninth wicket with Tawanda Mupariwa (10 not out) as the tourists overhauled a target of 125 with four deliveries to spare.

The 32-year-old earlier finished with career-best figures of four for 22 from 10 overs as Bangladesh's decision to bat first backfired. They were dismissed for 124 in 48.1 overs.

A victory for Zimbabwe had looked unlikely after fast bowler Mashrafe Mortaza struck early blows and left-arm spinner Shakib Al Hasan ran through the middle order, reducing them to 44 for six at one stage.

Mortaza continued from where he left off in last week's triangular series, removing Hamilton Masakadza (two) and his makeshift opening partner Tatenda Taibu (14).

Taibu had shown some fight at the start, clubbing new-ball bowler Nazmul Hossain for consecutive boundaries, but his exit sparked a collapse.

Shakib, called into action earlier than usual, picked up the wickets of Stuart Matsikenyeri (seven), Sean Williams (eight) and Keith Dabengwa (one).

But crucial knocks from debutant Malcolm Waller (24) and captain Prosper Utseya (21) put Zimbabwe back on track to reach their meagre target.

Price and Mupariwa then batted cautiously but with determination, with the former finishing off the match with successive boundaries off Nazmul to hand Zimbabwe their second successive win over Bangladesh.

Price's left-arm spin earlier claimed the key middle-order wickets of Raqibul Hasan, who top-scored with 28, Shakib (15) and Mahmudullah (14) on a Shere Bangla National Stadium pitch which has not produced a score above 215 in the last six matches.