Before the break, Sri Lanka were bowled out for 291 runs in their first innings after resuming the day at 154 for five.
Besides Pujara (15), the other first innings centurion who fell cheaply was Dhawan (14). Abhinav Mukund, who failed on day one, was batting on 27.
Post lunch, Ravindra Jadeja (3-67) brought the hosts' innings to a quick end as he bowled Lahiru Kumara (2). Dilruwan Perera was stranded on 92 not out, facing 132 balls, inclusive of 10 fours and four sixes. India took a first innings' lead of 309 runs.
Some 40 minutes before tea, a thunderstorm lashed the sea-facing ground. But the Lahiru Kumara (1/9) had enough time to bowl one more delivery and Pujara was caught at leg gully. An early tea was taken to make up for lost time.
Also Read
Earlier, Perera and Angelo Mathews (83) defied India as Sri Lanka reached 289/8 at lunch. The two batsmen put on 62 runs for the 6th wicket as the visitors led by 11 runs.
Sri Lanka's 200 came up in the 57th over, and they nearly batted out the first hour without any loss when Mathews chipped a catch off Jadeja straight to Virat Kohli at short cover in the 59th over.
There was slight turn available for the spinners on this day three pitch and this wicket was a result of constant pressure built up by the left-arm spinner. In all, Mathews faced 130 balls inclusive of 11 fours and a six.
Perera then reached his 5th Test half-century off 94 balls, inclusive of four fours and three sixes. He added 36 runs with Herath for the 7th wicket and another 39 runs with Nuwan Pradeep (10) for the 8th wicket.
At the other end though, stand-in skipper Rangana Herath (9) was not so lucky as he went for a reverse sweep off Jadeja and only ended up lobbing up the ball off his glove to Ajinkya Rahane at slip for a catch. The batsman went in for DRS confidently assuming the ball had hit his arm, but Ultra-Edge replay showed that there was some glove involved.
Disclaimer: No Business Standard Journalist was involved in creation of this content