Indian captain Virat Kohli blasted an unbeaten 156 to pass 5,000 runs in Test cricket as his side made 371-4 on a painful opening day of the third match for Sri Lanka's bowlers.
Opener Murali Vijay also plundered 155 to increase the agony for the tourists who are one down in the series.
Kohli remained on 156 with Rohit Sharma on six at the end of the day at the Feroz Shah Kotla stadium in New Delhi.
Kohli and Vijay put on 283 for the third wicket after India lost its top two batsmen in the morning session.
"The responsibility and ownership lies with the top order. Whoever gets in wants to make it big and they have embraced it well," India's assistant coach Sanjay Bangar told reporters.
"The number of big scores that we have had is purely because they understand the responsibility that the team is a batsman short and how somebody who is set can make a big contribution," he added.
Left-arm wrist spinner Lakshan Sandakan hurt the hosts with two late wickets, including Vijay's prized scalp.
Vijay was stumped for 155 though the decision needed approval from the third umpire with the batsman's back foot just on the line.
Ajinkya Rahane's miserable run with the bat continued as he was stumped in a similar fashion to walk off with one run to his name from five deliveries.
"He would be disappointed in the manner he got out. He is somebody who works hard on his game like all players do," said Bangar.
"His overseas record is phenomenal... he is a quality player who has performed when the chips are down for the team," he added.
Kohli, fresh from a majestic 213 during India's thrashing of Sri Lanka in the second Test in Nagpur, led the batting charge with his 20th Test century.
The Delhi-born star got a single off Dilruwan Perera after the tea break to register his first Test century on his home ground and the crowd stood up in applause.
Perera's 100th scalp
Kohli's knock, laced with 16 boundaries, took him past 5,000 Test runs in his 63rd game.
He also became the first captain to score successive hundreds in a three-match series.
Vijay seemed inspired by his captain as the right-hand opener smashed his second straight ton of the series following an innings of 128 when he came back from injury in Nagpur.
Earlier Perera got his 100th Test scalp to send opener Shikhar Dhawan back for 23. Perera became Sri Lanka's fastest bowler to a century of wickets in his 25th match, two less than spin legend Muttiah Muralitharan.
Cheteshwar Pujara was the second man out, caught at leg slip for 23 after flicking a sliding delivery from paceman Lahiru Gamage.
Sri Lanka's fast bowling coach Rumesh Ratnayake said the visitors should focus on the little things they did right on day one to bounce back in the game.
"You have to bring in the portions of which they have done well and say if you have done those... right then you continue the things which we did right," Ratnayake said.
"Also change in tactics, whether in field or otherwise... tell Sandakan to bowl more googlies.
"He should have broght in the googly much earlier. So hopefully we come with a different aspect tomorrow," he said.
India lead the series 1-0 and need only a draw for a record-equalling ninth successive Test series triumph. England and Australia are the other sides to have achieved the feat.