Atoning for scoring only five runs when the tourists won the first match by 60 runs last Saturday, Zadran faced 142 deliveries and struck 16 fours at Harare Sports Club.
#2ndODI | RESULT: 🇦🇫 won by 8 wickets and clinch the 3-match ODI series with a game to spare#ZIMvAFG |… https://t.co/9mHfNo87iN
— Zimbabwe Cricket (@ZimCricketv) 1654528110000
He was well supported by Rahmat Shah — the 94-run star of the first victory — who contributed 88 and was an able partner to Zadran in a second-wicket stand that produced 195 runs.
Afghanistan made 229-2 to win with 33 balls remaining.
Put in to bat after Afghanistan won the toss, Zimbabwe were all out for 228 with Innocent Kaia (63) and Ryan Burl (51) contributing half centuries.
Making only his second ODI appearance, Kaia hit six fours and one six off 74 balls before being caught by wicketkeeper Rahmanullah Gurbaz off the bowling of Fareed Ahmad, whose 3-56 were the best Afghan figures.
Burl was unbeaten after facing 61 deliveries and his total included two fours and one six in the Zimbabwean capital.
After opener Gurbaz was out having scored only four runs, Zadran and Shah took control while Zimbabwe used eight bowlers.
Apart from winning the series and taking a 17-10 lead over Zimbabwe in ODI matches, third-placed Afghanistan added another 10 points to their World Cup Super League total.
The two victories in Zimbabwe have lifted them to 90 points, five less than second-placed England, who have played four more matches.
After the final ODI match on Thursday, the countries will play three Twenty20 internationals on June 11, 12 and 14, also in Harare.