The tourists posted 160-7 batting first after rain had reduced the match to 18 overs a side. Ireland fell short on 144-9, as star spinners Rashid Khan and Mujeeb Ur Rahman taking five wickets between them.
Afghanistan will take a 1-0 lead into Wednesday's second match of the three-game series, as they look to deny fellow new Test nation Ireland revenge for being pipped to qualification for next year's World Cup.
Opening batsman Zazai was playing just his second international match and first since December 2016, but the 20-year-old struck six sixes in a magnificent 33-ball innings.
Afghanistan lost their way after he was caught behind off Simi Singh and Mohammad Shahzad was lazily run out.
Captain Asghar Afghan, who recently changed his surname from Stanikzai, managed a 30-ball 31, but his team scored just 10 runs and lost five wickets in their final three overs.
Left-arm seamer Joshua Little, 18, impressed with a miserly spell of 2-20 from his four overs for Ireland.
Stuart Thompson and William Porterfield both fell early in the run chase to the mystery spin of Mujeeb, before Afghanistan grabbed the crucial wicket of the dangerous Paul Stirling for 27 as Aftab Alam pulled off a sensational catch on the boundary.
Middlesex opener Stirling looked to have hit Fareed Ahmad over the leg-side for six, but Aftab jumped to claim a running take one-handed, while keeping his balance to stay inside the rope.
Some lusty lower-order hitting from George Dockrell and Singh kept Ireland's slim hopes alive, but Rashid finished with figures of 3-35 as Afghanistan wrapped up victory.
First Published: August 21, 2018, 2:03 AM IST