Ravindra Jadeja's remarkable performance in the first Test against Sri Lanka moved to another level on day three as India swiftly wrapped up their fifth-biggest win in the format.
India had led by 466 runs at the close of play on the second day, with Jadeja scoring an unbeaten 175 as the hosts declared on 574-8.
And Sri Lanka never threatened to make the all-rounder bat again – chiefly due to his brilliance with the ball.
The tourists, resuming on 108-4, were all out for 174 and forced to follow-on as Jadeja took 5-41.
An inspired Jadeja then claimed 4-46 in Sri Lanka's second innings, which concluded on 178 in the third session – India's victory by an innings and 222 runs illustrating the gulf between the teams.
Jadeja had already removed Sri Lanka captain Dimuth Karunaratne on day two and soon accounted for Niroshan Dickwella, Suranga Lakmal, Vishwa Fernando and Lahiru Kumara in a sublime spell.
Pathum Nissanka made 61 not out as his team-mates departed one by one.
And there was precious little improvement when Sri Lanka returned to the crease for their second innings, with Dickwella this time the man lacking support as he made an unbeaten 51.
There was no 10-wicket haul for Jadeja, as Ravichandran Ashwin (4-47) took the final wicket of Kumara with Sri Lanka all out in 60 overs.
Jadeja just too good with bat and ball
Having scored the highest total by an Indian number seven and then snared an early wicket, Jadeja must have thought day two was just about as good as it was going to get. He was wrong.
Jadeja took eight of the 16 wickets on Sunday, with four of them going for ducks to secure sensational match figures of 9-87.
Ashwin achievement overshadowed
Such was Jadeja's dominance, there was little chance of him sharing the spotlight. But this was a special day for Ashwin, too, even before his dismissal of Kumara clinched victory.
His previous wicket, of Charith Asalanka for 20, was his 435th in Test cricket, taking him clear of Kapil Dev into second on India's all-time list. Only Anil Kumble (619) is ahead of Ashwin.