Colombo: India, set a victory target of 257 runs, were 53 for three at stumps on the fourth day of the third and final Test against Sri Lanka at P Sara Oval on Friday.
Earlier, India were set a target of 257 runs to win the third and final Test and draw the series 1-1 after Sri Lanka were bowled out for 267 in their second innings.
Randiv, sharing the new ball with Lasith Malinga, had in-form Virender Sehwag caught in the slips in his first over and later bowled Rahul Dravid off the inside edge for seven.
He then dismissed opener Murali Vijay for 27 to a disputed catch at short-leg by Mahela Jayawardene, which was referred to the television umpire before the batsman was ruled out.
Sachin Tendulkar, the world's leading run-getter playing a record 169th Test match, kept India's hopes alive with a watchful unbeaten 11.
Nightwatchman Ishant Sharma was on two, with India needing 204 more runs on the final day with seven wickets in hand.
Sri Lanka made 267 in their second innings after a spectacular century partnership for the ninth wicket between Thilan Samaraweera and Ajantha Mendis.
India's spinners had sparked a dramatic collapse in the morning session as five wickets fell for 24 runs to reduce the hosts to 87/7 in an hour's play.
But the last three wickets added 180 runs to frustrate the Indians as Samaraweera followed his century in the first innings with a fighting 83 in the company of tailenders.
Samaraweera added 38 runs for the eighth wicket with Lasith Malinga (15) and Sri Lanka's record ninth-wicket stand of 118 with Mendis (78).
The duo flayed the Indian attack for two hours and 32 minutes before India broke the partnership in the first over with the second new ball.
Samaraweera attempted to pull a short ball from Abhimanyu Mithun and gloved a catch to Indian captain Mahendra Dhoni behind the stumps.
Mendis, who hit 10 boundaries and a six in his maiden half-century, scored 20 runs in the company of last man Chanaka Welegedara before being held in the covers off Amit Mishra.
India's three spinners, Pragyan Ojha, Mishra and Sehwag, claimed three wickets each on a pitch that support turn and bounce to the bowlers.
Sri Lanka added 18 runs to their overnight score of 45/2 when Ojha trapped nightwatchman Randiv leg-before for six, one ball after Dhoni dropped a simple catch behind the stumps.
Ojha then dealt two deadly blows in successive overs, getting rid of Sri Lanka's batting mainstays, Mahela Jayawardene and skipper Kumar Sangakkara.
Jayawardene edged a sharp turning ball to Rahul Dravid in the slips after making five, while Sangakkara (28) pulled a short delivery to Suresh Raina at square-leg.
It was the Sri Lankan captain's first failure in the series after making 103 in the first Test, 219 and 42 not out in the second and 75 in the first innings of this match.
Mishra, who was hammered for 1-140 in the first innings, then claimed two wickets with consecutive deliveries to reduce the hosts to 87/7.
Angelo Mathews hit a full-toss to Tendulkar at mid-wicket, while Prasanna Jayawardene was out leg-before off the next ball.
Malinga denied Mishra a hat-trick and partnered Samaraweera in the rescue act, before he was leg-before to Sehwag before lunch.
Sri Lanka won the first Test by 10 wickets, while the second match was drawn.
Sri Lanka 425 (Samaraweera 137, Sangakkara 75, Ojha 4-115, Ishant 3-72) and 267 (Samaraweera 83, Mendis 78)
India 436 (Sehwag 109, Raina 62, Laxman 56, Randiv 4-80) and 53 for 3 (Vijay 27, Randiv 3-20)
Status India need by 204 runs