The sides will meet again on Friday to decide the series.
The hosts, beaten 2-0 in the recent T20 series, were chasing a target of 228 to win but were bowled out for 198
Afghanistan had already taken an unassailable 2-0 lead in the three-match series against Ireland
Hazratullah Zazai top scored with 82 from just 54 balls and was ably supported by captain Asghar Afghan's 37.
The tourists posted 160-7 batting first after rain had reduced the match to 18 overs a side.