India scored 146 for five, riding on captain Mahendra Singh Dhoni's unbeaten 55 and then Pathan took centre stage with an impressive five for 25 to skittle out the Islanders for 120 in 19.3 overs at the P Sara Oval.
Continuing his fine run, Pathan ripped through the Lankan top order before coming back to dismiss the lower middle order in the end.
The Baroda speedster was ably supported by comeback man Lakshmipathy Balaji, who claimed three for 28.
Set a victory target of 147, Sri Lanka received an early jolt as Pathan castled opener Dilshan Munaweera on the last ball of the first over.
The 27-year-old then dismissed Tillakaratne Dilshan with the last ball of his second over to leave the the hosts reeling at 15 for two from the first three overs.
Kumar Sangakkara (32) combined with Angelo Mathews (16) to resurrect the Lankan innings but with Balaji getting better off the later, the target seemed to be a distant one for the hosts.
Sangakkara, in company of Lahiru Thirimanne, slowly but steadily took the Lankan total past 70 runs, punishing anything lose dished out by the bowlers.
Their partnership was, however cut short as Harbhajan Singh, dawning the Indian colours after a gap of over an year, bowled Sangakkara out in the 12th over to put India in a driver's seat.
Thirimanne (24) was the next man to go, giving Zaheer Khan his only wicket of the match.
Pathan then came back to haunt the Sri lankan batsmen as he dismissed Thisara Perara and skipper Mahela Jayawardene of successive deliveries before cleaning off Jeevan Mendis on the last ball of his spell to close the doors on the hosts.
Balaji completed the formalities as India walked away with an easy victory.
Earlier, electing to bat, India were in a precarious situation at four for 51 before Dhoni and Rohit Sharma (37) stitched a 78-run partnership for the fifth wicket to lend some respectability to the Indian total.
The visitors did not have an auspicious beginning as Gautam Gambhir was forced to leave the field as early as in the first over after being hit on the right wrist by a Lasith Malinga delivery.
Virender Sehwag (12) and Suresh Raina (12) played with caution but their vigil did not last long as Nuwan Kulasekara got Raina caught by Dilshan Munaweera in the fifth over.
Sehwag followed the suit a ball later playing one straight to Mathews.
With in-form Virat Kohli and Yuvraj Singh also taking a long walk back to the pavillion by the end of ninth over, it was left to Rohit and Dhoni to do the damage control.
Both the batsmen looked comfortable at the crease sending the Lankans on a leather hunt. Dhoni in particular was very severe on anything lose as he clobbered his way to an unbeaten half-century with the help of three sixes and four fours.
Rohit once again showed his liking for the shorter format of the game as he struck four hits to the fence and one over it to help India cross the 100-run mark.
India will take on Pakistan in their next warm-up game on Monday before meeting Afghanistan on September 19 in their tournament opener.