The 23-year-old opener hit 101 from 132 balls as Pakistan reached their target of 228 for the loss of four wickets and with 11 balls to spare. Younus Khan made 58, putting on a third-wicket stand of 112 with Jamshed, while Shoaib Malik contributed an unbeaten 34, sealing victory with a four.
Captain Mahendra Singh Dhoni struck 113 not out for India as Junaid Khan did most of the damage to the top order and finished with four for 43.
Pakistan's chase got off to the worst possible start though as they lost Mohammad Hafeez first ball, bowled by Bhuvneshwar Kumar offering no shot and Azhar Ali soon followed caught by Rohit Sharma at square leg off Kumar to leave them 21 for two.
Younus hit Suresh Raina for six to bring up his half-century but fell soon after when Ravichandran Ashwin held a low catch off a Ashok Dinda full toss to leave Pakistan on 133 for three.
Misbah-ul-Haq was beaten by a slower delivery from Ishant Sharma for 16 but with the victory target in sight, Jamshed - who brought up his century with a single off Dinda - and Malik guided the visitors home.
Earlier, Junaid ripped through the India top order to leave the hosts on 29 for five in the 10th over.
Virender Sehwag (four) was bowled between bad and pad before Mohammad Irfan removed Gautam Gambhir's middle stump for eight.
Junaid them bowled Virat Kohli (0) and Yuvraj Singh (2) before seeing Rohit Sharma (four) expertly snapped up by Hafeez at third slip.
Dhoni and Suresh Raina steadied the ship with a stand of 73 before Hafeez bowled Raina for 43 but Irfan took some late punishment as Dhoni lofted him over cover for six to bring up his century, while at the other end Ashwin finished unbeaten on 31.