Prasad added to Thursday's wicket of Shai Hope to go into lunch with figures of 3 for 19 as West Indies lost three wickets in the session.
The tourists, who dismissed Sri Lanka for 200 in the hosts' first innings, must win the Test in order to level the two-match series.
Play began half an hour late due to a soggy outfield caused by heavy overnight rains and the second day's play resumed under poor light.
Darren Bravo struggled for 17 balls before Prasad had one nipping back at him to play off the back foot only to drag the ball onto his stumps for just two.
The opener Kraigg Brathwaite remained not out on 37 despite going through several anxious moments against the spinners Rangana Herath and Dilruwan Perera.
Marlon Samuels continued his poor run against Sri Lanka when he was snapped up by Angelo Mathews at slip off Milinda Siriwardana's left arm spin for 13.