Afghan Voice Agency (AVA)-Sent to bat first by Zimbabwe who won the toss, Afghanistan posted 276-5 as they played all the mandated 50 overs at Harare Sports Club.
Rahmat Shah made 94 while captain Hashmatullah Shahidi hit 88.
In reply, Zimbabwe scored 216 before their last man was dismissed in the last ball of the innings.
Mohammad Nabi was the pick of the bowlers for Afghanistan with his four wickets. Rashid Khan took two wickets including that of Sikandar Raza who was top-scorer for Zimbabwe with 67 runs. Fazalhaq Farooqi also took two wickets.
Earlier, four of five wickets for Zimbabwe were taken by Blessing Muzarabani alone.
With the win, Afghanistan moved up to third spot in the ICC Men’s Cricket World Cup Super League table in which Bangladesh sit on top and England in second spot.
Afghanistan and Zimbabwe will meet for their second ODI on Monday.