Pakistan opener Fakhar Zaman (114) hit his maiden ODI hundred after being caught off a no-ball in the innings' fourth over, bowled by Jasprit Bumrah.
Azhar Ali (59), Mohammed Hafeez (57) and Babar Azam (46) also played solid to prop up the Pakistan innings as they put on board 338 for four.
None of the Indian bowlers, except Bhuvneshwar Kumar (1/44), could trouble the Pakistani batsmen after Virat Kohli opted to bowl even as the UP pacer was also taken to cleaners towards the end.
Hardik Pandya (76) was the lone Indian batsman who put up some resistance before India folded for 158 in 30.3 overs.
Mohammed Amir cleaned up the Indian top-order to pull the rug from under their feet, dismissing Rohit Sharma (0), Virat Kohli (5) and Shikhar Dhawan (21).
Pakistan : 338 for four in 50 overs. (Fakhar Zaman 114, Azhar Ali 59, Mohammed Hafeez 57, Babar Azam 46; Bhuvneshwar Kumar 1/44).
India: 158 all out in 30.3 overs.