Opener KL Rahul struck a fluent century as India recovered from early jitters to reach 319 for six in their first innings to leave the second cricket Test against Sri Lanka evenly poised on 20 August.
Opting to bat, the visitors lost opener Murali Vijay (0) and Ajinkya Rahane (4), surprisingly promoted to number three, with only 12 runs on the board before young Rahul (108) and skipper Virat Kohli (78) resurrected the innings with an attractive 164 run third wicket partnership.
Rohit Sharma also chipped in with a strokeful 79 but was dismissed at the fag end of an engrossing opening day's play which saw both the teams sharing the honours.
This was Rahul's second Test hundred as he faced 190 balls hitting 13 boundaries and a six in the process. Kohli, who looked good for another Test ton scored 78 off 107 balls with eight boundaries and a six.
The Indian captain was unlucky to miss out on his 12th Test hundred after rival skipper Angelo Mathews took a smart diving catch off Rangana Herath's bowling.
Under-fire Rohit Sharma, however, justified the immense faith shown in him by the team management as he somewhat redeemed himself with a stylish knock after his twin failures in the 63-run defeat at Galle.
Indian team management's decision to try Stuart Binny (10) as an all-rounder did not work in this Test match as the Karnataka player looked totally out of sorts during his 40-ball innings before playing a terrible shot which brought about his downfall.
At stumps, Wriddhiman Saha was unbeaten on 19 as play was called off immediately after Sharma's dismissal.
It was Indian captain Kohli, who won the toss and decided to bat on a hard strip that had some bounce and carry.
Vijay, who missed the last Test due to hamstring injury, had a forgettable comeback as Dhamika Prasad trapped him leg-before with a delivery that came in a shade after pitching in line with the stumps.
In order to shield Rohit from the new ball, the dependable Rahane was sent at the crucial number 3 position and he started with a boundary.
However, Prasad got him with an outswinger that he tried to drive on the up and was caught in the slips by Dimuth Karunaratne.
It was then that skipper Kohli joined Rahul and the duo started the repair work cautiously but were positive in their strokeplay. Rahul got a reprieve when he was on 11 and made the most of it.
India went into lunch at 97 for two as Kohli-Rahul duo had added 85 runs by then.
Post lunch break, the pair carried on their partnership in a bid to build the Indian innings further. The skipper scored his 11th Test fifty off 63 balls immediately after the break and in doing so also brought up the 100-mark for India in the 28th over. While he had looked fluent until the landmark, he suddenly looked very edgy for a brief period of play thereafter.
Kohli scored only two runs in 32 minutes during this passage of play, and it was left to Rahul to keep the scorecard ticking. The youngster didn't disappoint and reached his first Test fifty off 94 balls. Their 100-run partnership had earlier come in the 29th over.
At the other end, the captain broke the shackles with two consecutive boundaries off Chameera and was looking good for more. But just then, against the run of play, he fell to a stupendous, one-handed, diving catch to the right by Mathews off the bowling of Herath in the 44th over.
As he walked off dejected, Rohit walked in and negotiated the 8.3 overs remaining before tea. He started off nervously, pushing and prodding the ball, but hit a six and a four off Herath in the penultimate over before tea to ease at the break.
In the first session of the day, Rahul could consider himself lucky had Jehan Mubarak held a regulation catch at gully offered by Rahul, on 11, off Chameera as soon as he was introduced in the 8th over.
Rahul continued to look scratchy for the remainder of the session as well, but never offered a clear-cut chance again.
At the other end, Kohli was looking solid and started playing some attractive strokes as he settled in. He was aggressive against Herath, who was introduced into the attack in the 15th over, and looked to use his feet against him, depositing him for a six straight down the ground.
Their 50-run partnership came up in the 18th over, while India had crossed the 50-run mark earlier in the 13th over.
Mathews had opened the bowling while Chameera bowled first change surprisingly, and he generated good pace but was unable to make further inroads into the Indian batting.
In the 21st over of the innings, Tharindu Kaushal (0-82) was introduced into the attack, but Kohli and Rahul were able to negotiate the passage of play until lunch easily going into the break at 97/2.
Before play began, BCCI secretary Anurag Thakur felicitated Kumar Sangakkara for a glorious international career. The left-hander, who is playing his final Test here, then walked onto the field to a 'Guard of Honour' given by Lankan players.
Sri Lanka had won the first Test in Galle by 63 runs and taken a 1-0 lead in this three-match series. India made three changes for this second Test, with Vijay coming in for the injured Shikhar Dhawan.
Umesh Yadav and Stuart Binny replaced Varun Aaron and Harbhajan Singh in the playing eleven, respectively. Lanka also made one change with fit-again Dushmantha Chameera coming in for the injured Nuwan Pradeep.