India, put in to bat in trying conditions, managed 227 for six, largely thanks to a superlative unbeaten century from captain Mahendra Singh Dhoni (113 not out).
Nasir Jamshed (101 not out) and Younis Khan (58) made light work of the chase as Pakistan scored 228 for four with 11 balls to spare.
Things though could have been different for the hosts had they held on to the catches and if a few decisions had gone their way.
Nevertheless, it was a ruthless performance from a Pakistan side boasting of many youngsters.
Pakistan's chase got off to the worse possible start as they lost Mohammad Hafeez on the very first ball of their innings. Bhuvaneshwar Kumar, who impressed in the two-match Twenty20 series a few days ago, again gave India the breakthrough with an inswinging delivery.
With the new ball jagging around, Pakistan batsmen were put under tremendous pressure. Azhar Ali, playing his 12th ODI, failed to handle the pressure and lobbed an easy catch to Rohit Sharma off the bowling of Bhuvaneshwar Kumar.
With Pakistan reeling at 21 for two, in walked Younis Khan and showed his experience stringing a match-winning 112-run partnership with Jamshed.
India removed Younis and skipper Misbah-ul-Haq (16) to put the cat among the pigeons. Jamshed too could have been dismissed but a rare dropped catch from Yuvraj Singh gave him another chance.
Lady luck was with the visitors as Shoaib Malik (34 not out) was caught behind on a no-ball. After that the Pakistani batsmen didn't leave anything to chance and slowly but surely reached the target without any more hiccups.
Earlier India made a disastrous start to their innings but were rescued by a heroic innings from Dhoni.
India crumbled to 29 for five by the 10th over, with four batsmen being bowled by pacer Junaid Khan.
Mohammed Irfan (1/58) and Junaid Khan (4/43) took advantage of a fairly green wicket and damp and moist conditions in the morning to rattle the Indian top-order.
Their excellent opening spells saw India's five top-order batsmen -- Gautam Gambhir (8), Virender Sehwag (4), Virat Kohli (0), Yuvraj Singh (2) and Rohit Sharma (4) -- fail to get into double figures.
However, from thereon, Suresh Raina (43) and Dhoni tried to stabilise the innings and struck a slow but steady 73-run partnership to get the hosts out of trouble.
After steadying the ship, Raina also departed when he was bowled by spinner Mohammed Hafeez with the score reading 102/6 in the 34th over.
In came local boy Ravichandran Ashwin (31 not out) who struck a record unbeaten seventh wicket partnership of 125 runs off 100 balls with his skipper to see India past the 200-mark. This was India's best seventh wicket partnership so far.
Dhoni displayed his big-hitting prowess in the death overs destroying the figures of Irfan and Junaid. He hit seven boundaries and three sixes, including one to reach his eighth ODI ton.
Despite tiring out, he stuck there eventually taking his team to a fighting total.
This was India's final match of a year that has seen them win just two series -- an ODI series against Sri Lanka and a Test series win over New Zealand.
Bollywood celebs show you colours for Navratri 2017
Photos: Kareena Kapoor Khan, Kangana Ranaut at the Mumbai airport
Birthday special: Chris Gayle and his multiple records in cricket
In Pictures: 17 dreaded on-screen villains of Bollywood
'Ramayan' director's great granddaughter Sakshi's hottest photos