The victory left the five-match one-day international series at 2-1 to Afghanistan with two yet to play.
Zimbabwe won the toss and elected to bat at Sharjah Cricket Stadium, but they lost both openers for ducks within eight balls.
In fact they crashed to 49-7 before Masakadza and Graeme Cremer came together, the latter pitching in with a 75-ball 58 to take the Africans to 175 all out off 48.3 overs, Mirwais Ashraf grabbing 3-20.
“Credit to Cremer for the support he gave me, and the bowlers did very well as well,” Masakadza told cricinfo.com.
“We managed to bat as long as we wanted to and managed to get a few hits away towards the end. It’s good that we’ve managed to keep the series alive, and I hope we can keep this momentum.”
Afghanistan also got off to a disastrous start in their hunt for runs, losing opener Noor Ali Nadran for a duck on the fourth ball.
The only batsman to make double figures was wicketkeeper Mohammad Shahzad, with 31, as Zimbabwe made short work of their innings, all out for 58 in 16.3 overs, Tendai Chisoro claiming 3-15 off four overs.
“Our bowlers started very well. It was a good partnership between Masakadza and Cremer, but a total of 175 was (chaseable),” said Afghan skipper Asghar Stanikzai.
“The wicket is not too difficult but our batsmen played poor shots and their bowlers bowled very well.”
Zimbabwe 175 all out in 48.3 overs (Hamilton Masakadza 83, Graeme Cremer 58; Mirwais Ashraf 3-20) bt Afghanistan 58 all out in 16.3 overs (Mohammad Shahzad 31; Tendai Chisoro 3-14) by 117 runs