He put on 138 for the opening wicket with Virender Sehwag (73) to help India post a challenging 269-5 before his bowlers restricted Pakistan to 218 despite a fighting 79 from captain Inzamam-ul-Haq.
Left-arm seamer Irfan Pathan and off-spinner Ramesh Powar each grabbed three wickets.
Inzamam posed the main threat to India's total with a 91-ball knock but his run out in the 43rd over, brought off by Dravid, dashed his team's hopes.
Pathan jolted Pakistan with two wickets in successive overs, trapping Imran Farhat leg-before for his 100th victim in one-dayers and then uprooting the middle-stump of Shahid Afridi.
Pakistan were reduced to 45-3 when seamer Ajit Agarkar removed Younis Khan, who was caught behind for five. They were under pressure after losing three wickets in opening 12 overs.
Opener Shoaib Malik (45) and Inzamam steadied the innings before India struck back with a hat-trick of superb catches.
Yuvraj Singh dived to his right at square-leg to hold the ball inches off the ground to account for Malik and Suresh Raina timed his jump to perfection to take an overhead catch at short mid-wicket to dismiss Mohammad Yousuf.
Venugopal Rao then broke a dangerous 50-run stand for the eighth wicket with a well-judged catch at long-on boundary to remove Rana Naved-ul-Hasan, who smashed a 17-ball 27.
The Dravid-led side on Tuesday lost the first of two day-night games held here to raise funds for victims of last year's Kashmir earthquake, but gave a better batting performance when it mattered most.
India, shot out for 197 in the first game, were bolstered by Dravid, Sehwag, Mahendra Dhoni (59) and free-stroking Yuvraj Singh (24) after winning the toss.
Dravid looked set to complete his 12th hundred when he inside-edged seamer Mohammad Asif's delivery on to his stumps, but not before setting a stiff target for Pakistan.
India made a strong start when Dravid and Sehwag put on 138 for the opening wicket. The Indian skipper then added 90 for the second with Dhoni.
Sehwag, who failed to score a half-century in the recent seven-match series against England at home, returned to form with a brisk 83-ball knock which contained one six and 10 fours.
India's batting continued to flourish after Sehwag's dismissal as Dravid and Dhoni kept finding gaps. Dhoni fell after completing his eighth half-century, bowled by a slower delivery from Rana.
Proceeds from Tuesday's match were donated to the survivors of the massive earthquake that hit Kashmir last October killing more than 73,000 people in Pakistan and 1,300 in India.
Revenues from the second game on Wednesday will be shared by the Indian and Pakistan cricket boards after a million dollars is given to the hosts.
Fall of wickets: 1-138, 2-228, 3-234, 4-255, 5-269
Fall of wickets: 1-22, 2-23, 3-45, 4-91, 5-108
6-147, 7-148, 8-198, 9-209
Result: India win by 51 runs to level two-match series 1-1
Umpires: Rudi Koertzen (RSA) and Brian Jerling (RSA)
TV umpire: Tyron Wijewardena (SRI)
Match referee: Roshan Mahanama (SRI)