Opener Murali Vijay scored 128 runs while Cheteshwar Pujara stood unbeaten at 121 as India reached 312/2 at the end of the 2nd day of the second Test in Nagpur on Saturday. Captain Virat Kohli was playing at 51.
The pair of Vijay and Pujara put an unbeaten 178-run partnership stand for the second wicket.
Vijay brought up his 10th Test ton, while Pujara scored his 14th century in the longest format of the game.
The first two sessions of the Test witnessed composed batting from the Indian batsmen. Earlier on the opening day, India had lost their opener KL Rahul (7) early after wrapping the Lankans for 2015 runs.
Lahiru Gamage was the only successful bowler for Sri Lanka, who took the scalp of Rahul on Friday.