Wicketkeeper Mohammad Shahzad held his nerve as wickets tumbled around him, scoring an unbeaten 131 -- the highest ODI score by an Afghan batsman -- to help the non-Test playing nation chase down a target of 254 with 14 balls to spare.
Afghanistan were cruising at 169-1, but the run out of Mohammad Nabi triggered an alarming collapse that saw them lose five wickets for just 29 runs.
When cricket came home after six years
However, an unbroken seventh-wicket stand of 56 between Shahzad and Mirwais Ashraf (26 not out) saw them over the line as Afghanistan bid to follow up a 3-2 win in the ODI series in Zimbabwe in October.
"The ball didn't come onto the bat, so the plan was to bat till the end. Two consecutive wins against a Test team is a proud moment for us," Shahzad, who carried his bat in his record-breaking innings, told cricinfo.com.
Year-end special: A look back at 2015
Zimbabwe, who were skittled out for just 82 in the first ODI on Friday, posted a far more competitive total this time although it still fell short.
The tourists reached 253-7 from their alloted 50 overs with half-centuries from Craig Ervine (73) and opener Peter Moor (50), while Afghan seamer Dawlat Zadran took 3 for 57.
Brief scores:
Zimbabwe 253-7 in 50 overs (Craig Ervine 73, Peter Moor 50; Dawlat Zadran 3-57) v Afghanistan 254-6 in 47.4 overs (Mohammad Shahzad 131 not out; Elton Chigumbura 3-32)
COMMENTS
Comments are moderated and generally will be posted if they are on-topic and not abusive.
For more information, please see our Comments FAQ