Kapil, playing in his 125th Test, took his 421st wicket when Roshan Mahanama was caught by the wicketkeeper Kiran More without scoring.
In two overs, Prabhakar then snapped up the wicket of the other opener, Chandika Hathurusinghe, and Aravinda de Silva - both held by Anil Kumble at gully - to leave the home side at 8 for 3.
Sri Lanka would have been in a worse position had the Indian captain, Mohammad Azharuddin, scooped up a catch from his counterpart, Arjuna Ranatunga, in Prabhakar's fourth over.
SRI LANKA - First innings
R S Mahanama c More b Kapil Dev 0
U C Hathurusinghe c Kumble b Prabhakar 4
A P Gurusinha not out 10
Aravinda de Silva c Kumble b Prabhakar 1
* A Ranatunga not out 7
Extras (lb1 nb1) 2
Total (for 3) 24
Fall: 1-0 2-6 3-8.
To bat: H Tillekeratne, Ashley de Silva, D Liyanage, C P H Ramanayake, M Muralidaran, K P J Warnaweera.
Bowling: Kapil Dev 5-1-10-1; Prabhakar 6-1-13-2; Srinath 1-1-0-0.
INDIA: N S Sidhu, M Prabhakar, V G Kambli, * M Azharuddin, S R Tendulkar, P K Amre, Kapil Dev, K S More, A Kumble, R K Chauhan, J Srinath.Reuse content