Rohit and KL Rahul (89 off 49) added 165 runs for the opening wicket, which set the platform for India's record score.
Rohit was mesmerising in his knock where he smashed 12 boundaries and 10 sixes to unsettle the opponent.
Sri Lanka skipper Thisara Perera, on the other hand, said, "Looks a small boundary, so we want to chase".
In reply, Sri Lanka gave India a mini-scare through Kusal Perera's 37-ball 77 and his whirlwind century partnership with opener Upul Tharanga (47 off 29).
1 bigger T20I scores than India's 260/5 today. There seems no end to the woes of the visitors, who slumped to a heavy 93-run defeat in the series-opener in Cuttack.
India is already leading the three-match series 1-0, and the next bilateral battle will begin at 13:30 GMT. The bowling department will, however, depend on wrist spinner Yuzvendra Chahal who caused plenty of trouble for the uninspired Sri Lankan batting in the first match.
India's 260-5 is their highest-ever T20 total, and just three short of the record score in the format - Australia's 263-3 against Sri Lanka in Pallekele previous year. Sri Lanka had scored 260 for six against Kenya at Johannesburg in September 2007.
Indian batsmen smashed 21 sixes in the inning. Only Virat Kohli has more centuries (11) than Rohit this year. With the Indian batsman in hot form, the Lankan bowlers wouldn't like to get hammered the same way they were at Cuttack. A robust domestic structure coupled with Indian Premier League (IPL) has prepared a good bench strength for the hosts. KL Rahul and Suresh Raina have one each.
There was never a tiresome moment till the time Rohit was at the crease as he pulled, cut and drove the clueless Lankan bowlers at will.
India: Rohit Sharma (Captain), KL Rahul, Shreyas Iyer, Manish Pandey, Dinesh Karthik, MS Dhoni (wicketkeeper), Hardik Pandya, Washington Sundar, Yuzvendra Chahal, Kuldeep Yadav, Deepak Hooda, Jasprit Bumrah, Mohammad Siraj, Basil Thampi and Jaydev Unadkat.