Dushmantha Chameera broke the massive opening partnership with the wicket of Rohit.
Jaydev Unadkat got the first breakthrough with the wicket of Niroshan Dickwella.
Kuldeep Yadav took all his three wickets in one over and derailed the chase while Yuzvendra Chahal finished with four scalps as the duo bowled out Sri Lanka for 172, sealing the series win by 88 runs.
Rohit reached his second T20I century in 35 balls, equalling the record for the fastest hundred in the format.
The Indian captain was in fine form smashing 12 boundaries and 10 sixes in his innings.
Nuwan Pradeep and Thisara Perera brought little solace with their late wickets with both bowlers taking two scalps each.
KL Rahul's half-century came in 35 balls as his acceleration after Rohit's dismissal helped India record their highest ever T20I total of 260 for 5.
Kusal Perera was the sole shining light in the Sri Lankan batting with his 47-ball 77 that included four boundaries and seven sixes.
The second wicket partnership between Kusal Perera and Upul Tharanga was worth 109 runs.