Afghanistan took three wickets before lunch on Saturday but Sri Lanka reached the break at 177-3 on day two of their one-off Test in Colombo, 21 runs behind.
Former captains Angelo Mathews (29) and Dinesh Chandimal (15) were batting at the break. SCORECARD
Resuming on 80 without loss, Nishan Madushka was the first to depart for 37 after hitting straight to Noor Ali Zadran at leg-slip off debutant Naveed Zadran.
Kusal Mendis made 10 before misjudging a pull shot off a bouncer from Nijat Masood to be caught by Zia-ur-Rehman at square leg.
Veteran opener Dimuth Karunaratne posted his 35th Test half-century in an aggressive knock that saw 12 boundaries off 72 balls.
But the left-hander's attempt to put away a full toss from Qais Ahmed saw him caught at short mid-wicket by Ibrahim Zadran for 77.
Afghanistan were bowled out for 198 in the final session of Friday's first day after being put into bat by the hosts.