Afghan opener Nawroz Mangal had reached 1000 career ODI runs before he was bowled for seven, and Asghar Stanikzai spent just three deliveries at the crease.
Javed Ahmadi seized the initiative with some aggressive batting, dancing down the wicket and swatting fours over extra cover or straighter in a run-a-ball innings of 51.
Mohammad Nabi's departure and Afgar Zazai's duck left Afghanistan's innings teetering.
But Shenwari, who had a life on 20, kept the faith. He left it until the 47th over to make his move, swatting Majid Haq for three sixes before holing out at deep midwicket.
But the last pair of Shapoor and Hamid Hassan held their nerve to seal the win.
Earlier, they had both played a key role with the ball.
Along with Dawlat Zadran, the trio enhanced their reputation as one of the most formidable bowling units in Associate cricket with an impressive display.
Together they accounted for eight of the Scottish wickets.
Dawlat (three for 29) made the initial breakthrough with a ball which should have been dispatched to the boundary. Instead Scottish opener Calum MacLeod picked out backward point and buried his head in his hands in disappointment.
But it was the key wicket of Kyle Coetzer which would have rocked the Scottish. He was enticed into a drive and bowled through the gap between bat and pad.
Dawlat claimed a third when he nicked out Richie Berrington (25).
Matt Machan (31) and Preston Mommsen (23) staged some resistance with a partnership of 53 for the fourth wicket.
Machan looked in fine touch but was undone attacking the off spin of Afghan captain Mohammad Nabi.
He shuffled to leg to make room but missed - Nabi did not.
Moments later Mommsen got an edge leaving Scotland teetering at 95 for five from 22.2 overs and at real risk of failing to bat out their full allotment.
Haq (31) and Evans (28) revived the flagging innings, adding a valuable 62 for the ninth wicket.
Evans brought up the team 200 with a blazing drive over extra cover for four.
Shapoor took four of the last five wickets to fall to finish with four for 38.
The official crowd was 3229 but there appeared to be a lot less at the ground.
Afghanistan's next match is against Australia in Perth on March 4. Scotland play Bangladesh in Nelson the next day.
Scoreboard
Manhattan/Worm
Wagonwheel