Kuldeep, who was the only change in the team from India's opening win, and fast bowler Mohammed Siraj took three wickets each to bowl out Sri Lanka for 215 in 39.4 overs in Kolkata.
The hosts were in trouble at 86-4, with skipper Rohit Sharma and star batter Virat Kohli back in the pavilion, but Rahul anchored the chase with his 64 as the hosts got home in 43.2 overs to take an unbeatable 2-0 lead.
Kuldeep, who has often missed out on a place in the XI to fellow spinners including Yuzvendra Chahal, grabbed the opportunity with figures of 3-51 and won praise from Rohit.
"For him to come back and play the game he played today, it was fantastic," said Rohit of his man of the match performer.
"Literally got us back in the game. They were batting run-a-ball and Kuldeep, as we've seen quite often, comes and gets the wicket. He's quite confident as a bowler right now and it definitely augurs well for the team."
Kuldeep was once an automatic selection in the team alongside Yuzvendra Chahal who missed out through injury on Thursday.
"Whatever opportunities I get, I try to do my best and back my abilities. However, team combinations are important. I don't think too much about it," he said.
Siraj struck first as he bowled Avishka Fernando for 20 with an in-swinging delivery that took the inside edge of the bat to crash against middle stump.
Nuwanidu Fernando put on 73 runs for the second wicket with Kusal Mendis before Kuldeep broke through.
He trapped Mendis lbw for 34 with the final delivery of his opening over and two balls later fellow left-arm spinner Axar Patel bowled Dhananjaya de Silva for a duck.
'On my toes'
Nuwanidu reached 50 but was soon run out after his 63-ball knock.
Kuldeep struck twice in two overs, including captain and previous match centurion Dasun Shanaka, bowled for two.
Sri Lanka slipped to 152-7 when tearaway quick Umran Malik cut short Wanindu Hasaranga's breezy knock on 21.
Number eight Dunith Wellalage made 32 and resisted along with the other lower-order batters to take the total past 200 before Siraj struck twice in three balls to wrap up the innings.
India lost Rohit for 17 off Chamika Karunaratne after a brisk start and fellow opener Shubman Gill, who hit 21 off 12 balls, soon followed his captain three balls later.
Fast bowler Lahiru Kumara bowled Kohli, who scored a match-winning 113 in the opening ODI, for four and the home side were wobbling when Shreyas Iyer departed on 28.
Rahul, who has been assigned the role of wicketkeeper and middle-order batsman in the 50-overs format, put on 75 with Hardik Pandya to steady the innings in a watchful partnership.
"I have had time to settle into this position (number five) and role," Rahul, who is a specialist opener, said of batting in the middle-order.
"When you have the backing of your coach and captain then it helps you focus. It's different to what I do in other formats but it keeps me on my toes and I like the challenge."
He said he needed "a little bit of work on my wicketkeeping and lot of work on batting in the middle order."
Karunaratne broke through with the wicket of Hardik, for 36, and Axar was dismissed for 21 to increase the tension.
But Rahul stood firm with Kuldeep, 10 not out, for company to steer the team home
The final match is on Sunday in Thiruvananthapuram.