Electing to field first, Pakistan made India crumble as the hosts were down and almost out at 29/5 by the 10th over, with four batsmen being bowled.
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 as Junaid clean bowled most of them while the seven-foot Irfan did not let the Indians score with tight line-and-length bowling.
However, from thereon, Suresh Raina (43) and Dhoni tried to stabilise the innings and struck a slow but steady 73-run partnership to take 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 beautiful economy 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.
Pakistan need 228 to win the match.