The Indian vice-captain lived upto his growing reputation as one of the world's top batsmen by hitting an unbeaten 76 and combining with Kaif who contributed an unbeaten 71 to their unfinished 132-run partnership that enabled India to overtake Pakistan's 293 for nine.
India scored 294 for five, having been 94 for four at one stage and emerged winners by five wickets to set the stage for an exciting decider in Lahore on Wednesday.
As Kaif hit the winning run at the floodlit Gaddafi Stadium, some 8,000 Indian fans started dancing in the stands carrying the tri-colour with sporting Pakistani joining in cheering the two Indian heroes who deftly ensured that their side, down 1-2, will battle it out for honours in the fifth and final match three days later.
In the run-chase after Pakistan had notched up 293, thanks to a brilliant 123 by skipper Inzamam-ul Haq, the top guns such as Sachin Tendulkar, Virender Sehwag VVS Laxman and captain Sourav Ganguly, all fell before India had reached 100. But neither the Indian supporters in the stands nor Dravid and Kaif ever gave up hope and in the end it was a comfortable andsweet victory for the victory.
The Indians suffered a huge jolt early in the run chase when batting maestro Sachin Tendulkar (7) returned to the pavilion falling prey to tearway fast bowler Shoaib Akhtar.
Tendulkar inside edged an express delivery from Akhtar and Moin Khan held on to a smart catch behind the wickets, much to the jubilation of a packed home crowd.
The stylish VVS Laxman (20), who joined the action after Tendulkar's dismissal, appeared a trifle tentative in the initial stages of his innings and could have been out without opening his account when he was caught by Inzamam off a no ball from paceman Shabbir Ahmed.
After getting his eye in, Laxman gave glimpses of his Australian form with a couple of trademark drives while his partner Virender Sehwag played with the customary flourish at the other end.
The elegant Hyderabad batsman first produced a glorious boundary off Akhtar and then slammed two consecutive boundaries off Shabbir to raise hopes of a spirited Indian fightback.
The Indian total raced to 69 by the ninth over before Akhtar struck for his team again by removing Laxman with a gem of a delivery, dislodging his stumps with a ball that came in sharply.
Mohammad Sami, who was introduced into the attack in the 10th over in place of Akhtar, jolted the visitors in his first over by getting rid of the dangerous Sehwag for a 29-ball 26.
Sehwag was done in by a ball that rose awkwardly from a good length and managed to edge the ball to Younis Khan at first slip to reduce the tourists to 75 for three.
Captain Sourav Ganguly, who has not managed a big score for a long time, seemed to be in fine nick and played some attractive shots during his brief stay at the crease, a six over third man off Sami being a class act.
However, the left-hander could not carry on for long as he edged an outgoing delivery from Shabbir to Moin Khan behind the wickets for 21 that came off just 15 balls.
The dismissal of Ganguly served as a tonic for the hosts who tried to put more pressure on the two batsmen at the middle -- Rahul Dravid and Yuvraj Singh -- by bringing back Akhtar for his second spell.
However, both Dravid and Yuvraj not only saw Akhtar off but also collected some runs in his second spell to bring India back into the game.
Yuvraj was the more aggressive of the two batsmen as he unleashed a barrage of shots, which included two flowing cover drives to the boundary off a tired Akhtar.
The pair added 68 runs for the fifth wicket before Yuvraj (36 off 35 balls) was caught by a diving Yousuf Youhana barely a few inches above the ground with Sami being the bowler.
It was left to the last recognised pair of Dravid and Kaif to put the Indian run chase on track again and the duo responded to the challenge with a tremendous show of batsmanship. They maintained the brisk run-rate without taking too many risks and were also quite prompt to dispatch the loose deliveries to the fence.
With their sixth wicket partnership assuming dangerous proportions, Pakistani captain tried everything to end their association that eventually took the team to the target.
Earlier, electing to bat, Pakistan rode on a brilliant century by captain Inzamam to post a healthy 293 for nine in their allotted 50 overs after a fairly slow start which saw the home team lose two wickets by the tenth over.
Inzamam set the packed Stadium ablaze with a blistering 121-ball 123 to notch up his tenth one-day century on a good batting track. Yasir Hameed (45) and Younis Khan (36) were the other notable scorers for the hosts.
The burly Pakistan captain slammed nine boundaries and four sixes during his scintillating knock to record his second century in the series, having scored a rollicking 122 in the first match at Karachi.