Chasing a target of 293, the 20-year-old Butt gave ample display of his class with a maiden unbeaten knock of 108 to steer his team to victory with six balls to spare and give Pakistan their fourth consecutive victory over their archrivals since the Asia Cup in August.
The left-handed Butt showed a great deal of maturity as he defied cramps to play a stellar role in the Pakistan victory in the highly charged day-night encounter at the Eden Gardens.
Captain Inzamam-ul-Haq (75) and Shoaib Malik (61) also chipped in with useful contributions as Pakistan maintained their remarkable record of not losing a match at the historic Eden Gardens.
The capacity crowd was left in a daze as Butt hit the winning runs to signal the Pakistani victory in a match specially organised as part of the Platinum Jubilee celebrations of the Board of Control for Cricket in India (BCCI).
The Indians, who rattled up a challenging 292 for six after opting to bat first, seemed to be done in by the heavy evening dew which made it difficult for the bowlers to grip the ball properly.
Earlier, Yuvraj Singh slammed a rollicking 78 to propel India to a challenging total with Virender Sehwag (53), Sourav Ganguly (48) and VVS Laxman (43) being the other notable contributors.
Inzamam, who appeared a trifle shaky in the initial stages of his innings, also played a big role in the win as he not only paced his knock well but also had a calming influence on the other batsmen.
The Pakistan run chase began on a disastrous note as the visitors lost opener Younis Khan for the duck with left-arm paceman Zaheer Khan providing the early breakthrough.
But the young Butt and Malik ensured that the team did not suffer any further setbacks as they played cautiously but were prompt to dispatch the loose deliveries to the fence.
Malik, who has flourished in the number three slot, was particularly severe on speedster Irfan Pathan as he struck him for three consecutive boundaries.
The left-handed Butt also grew in confidence as the innings wore on and displayed some exquisite shots on both sides of the wicket.
Butt got a reprieve when on 29 with Yuvraj Singh dropping a sharp chance at the point region off Pathan but the talented youngster was far more selective in his shots after the blemish.
The second wicket pair took the Pakistan total past the 100 mark much to the frustration of the Indians who struggled to grip the ball properly because of the dew factor.
Skipper Sourav Ganguly introduced his spin trump card Harbhajan Singh into the attack in the 15th over but the off-spinner could not break the partnership though he succeeded in containing the run rate to some extent.
Malik took a single of Harbhajan Singh to notch up his ninth One-day half-century but fell soon after as he played an unusual stroke to a Sehwag delivery which spun and kept low.
Malik could not control his shot and spooned a simple catch to Mohammad Kaif at the short cover region, bringing an end to his 55-ball 61 which was studded with five boundaries and two sixes.
Butt also completed his second One-day half-century with a single off Harbhajan as Pakistan kept consolidating their position.
But he soon retired to the pavilion because of cramps but the home team could not really take advantage as Inzamam ensured that there were no slip-ups by the Pakistan batsmen who kept their nerve during the stiff run chase.
Butt joined the action again after Yousuf Youhana's dismissal and took the Pakistan total closer to the target in the company of his captain who played some glorious shots in the later stages of his innings.
Earlier, Yuvraj set the packed stadium ablaze with his fireworks as he cracked his 16th half century, a blistering 78 which marked his return to form after a string of dismal outings in recent matches.
Virender Sehwag and Sachin Tendulkar provided a brisk start to the Indian innings with some delectable shots but the pair could add just 29 runs before the home team lost the prized scalp of Tendulkar.
Tendulkar paid the price for trying to steal a cheeky single. The star batsman went for a suicidal run after Sehwag had played the ball close to the stumps and Younis Khan's direct hit left Tendulkar a few inches short of the crease.
The stylish VVS Laxman, who was promoted to the number three slot, seemed to be in good touch as he exhibited his trademark wristy shots to keep the scoreboard moving at a brisk pace.
Laxman picked up paceman Rana Naved-ul-Hasan for special treatment as he spanked him for two consecutive boundaries in his fifth over and then hit him for two more boundaries in row in his subsequent over.
The Indians seemed to be heading for a big total as the duo stitched 82 runs for the second wicket before spinner Shahid Afridi provided the vital breakthrough by getting rid of Laxman.
Laxman, who struggled to find any form during the recent Test series against Australia till the last match in Mumbai, went for a forward defensive shot but only succeeded in edging the ball to Kamran Akmal behind the stumps.
The dismissal of Laxman seemed to have no impact on Sehwag as he brought about his 15th half-century in One-day International in style by lifting spinner Shoaib Malik for a huge six over long-on.
But the euphoria was short-lived as he perished soon after reaching the half-century mark, completely mistiming a sweep to see his stumps being dislodged with Afridi doing the damage. Sehwag's 65-ball 53 contained six boundaries and two sixes.
The run rate dropped down a bit after Sehwag returned to the pavilion as captain Sourav Ganguly and Rahul Dravid took time to come to terms with the Eden track with some balls keeping a trifle low.
Both Ganguly and Dravid were quite content in keeping the scoreboard ticking with gentle nudges and pushes and just when it seemed that the duo would step on the accelerator, Dravid fell to an uncharacteristic stroke.
Dravid tried to pull paceman Abdul Razzaq over the square-leg boundary but only succeeded in offering a catch to Afridi about ten yards inside the fence.
With the overs running out, Ganguly also opened up to play some glorious shots taking a cue from the rampaging Yuvraj Singh at the other end.
The Indian captain fell two runs short of the half-century mark as he top-edged Akhtar and spooned a simple catch to wicketkeeper Akmal while Yuvraj was dismissed in the penultimate ball of the innings.