Mohammad Shahzad made 55 from 46 balls as Afghanistan posted 132 for seven, Matt Machan claiming three for 23.
The latter then carried the fight with an unbeaten 42 in 38 balls, but Scotland came up well short on 105 for six.
Afghanistan lost a wicket in each of the first two overs after choosing to bat first, but a stand of 79 between Shahzad and Asghar Stanikzai steadied the ship.
Stanikzai fell for 30 and Gulbodin Naib hit 15 from 10 balls before both he and Shahzad perished to Machan.
Calum MacLeod was run out in the first over of Scotland's reply and it set the tone as they lost Neil Carter for three, Richie Berrington (15) and Kyle Coetzer (16) in stumbling to 43 for four at halfway.
Machan and Preston Mommsen put on 33 but the scoring rate was too slow and Scotland could only just limp into three figures. Nabi was the pick of the bowlers with two for 12.