Chandigarh: The Indian captain composed his third double century in ODIs as the hosts crushed Sri Lanka by 141 runs to level the series.
The opener led the Indian charge, smashing 12 sixes and 13 fours in an unbeaten 208 after the hosts.
Rohit reached 200 in the 50th over, bowled by opposition skipper Thisara Perera. His first hundred came off 115 balls, and his second off just 36 balls.
The right-hander scored 209 against Australia in Bangalore in 2013, and followed that double-hundred with his highest score of 264 against Sri Lanka a year later in Kolkata.
Martin Guptill (New Zealand), Virender Sehwag (India), Chris Gayle (West Indies) and Sachin Tendulkar (India) have recorded a double century each in ODI cricket.
Sharma made a bright start with his opening partner Shikhar Dhawan (68) after the Indian batsmen's horror showing in the opening ODI, when they were skittled out for just 112.
Sharma's 213-run stand for the second wicket with Shreyas Iyer, who scored 88, also stood out on a hazy day in Mohali.
Dhawan, who hit nine boundaries during his 67-ball knock, was caught at mid-wicket off Sachith Pathirana.
But the wicket proved to be a minor blemish on India's innings as Sharma dominated the bowlers with the attack-minded Iyer for company.
Sharma took a special liking to first-ODI hero Suranga Lakmal, hitting the paceman for four towering sixes in one over.
Iyer also changed gears after completing his maiden fifty in just his second ODI, smashing the Sri Lankan bowlers around the park.
Perera got three wickets with his medium-pace bowling but was still hit around the park by Sharma, who had vowed to bounce back after India were mauled in the first game.
In reply, Sri Lanka never looked threatening to run away with the game. Upul Tharanga was their best best at the top, but perished for 7. He played a loose shot off Hardik Pandya. Soon, Sri Lanka were reduced to 62 for 3.
Mathews found able company from Niroshan Dickwella and Asela Gunaratne. The youngsters played several sweep shots, reverse and paddle shots being most common. Nonetheless, the ever-increasing run-rate resulted in their dismissal.
Mathews continued to do what he does best. Amidst the fall of wickets, he held one end and took on the likes of Yuzvendra Chahal and Washington Sundar. He applied himself till the very end and registered his second ton. Interestingly, both have come against India (in India) in a losing cause.
Mathews became the fourth Sri Lankan to reach the ODI double of 5,000 runs and 100 wickets. He also became the 10th Sri Lankan and 82nd overall to 5,000-run club.