Afghanistan captain Asghar Stanikzai hit the only fifty of the match as his side drew first blood in the one-day international series against hosts Zimbabwe with a 12-run Duckworth-Lewis win.
Stanikzai, having won the toss, scored exactly 50 as the tourists posted 215 all out in 49.2 overs.
He dominated a 59-run stand with Hashmatullah Shahidi after Noor Ali Zadran (39) and Rahmat Shah (31), who were both among Graeme Cremer's three for 46, put on 67 for the second wicket.
Late in the innings Rashid Khan struck two sixes and three fours in an 18-ball 32 before being last man out.
In the reply Amir Hamza cheaply saw off Solomon Mire before Peter Moor and Sikandar Raza departed to leave Zimbabwe 44 for three.
Craig Ervine (38 not out) and Ryan Burl responded with a partnership of 55 but a ball after that stand was broken, rain intervened at 99 for four.
The players were unable to return and complete an innings that was 27.2 overs old, and under the Duckworth-Lewis method for settling such matches the victory went to Afghanistan.
All five matches in the series are to be played in Harare, with the second scheduled for Sunday.