Opener Murali Vijay hit a sublime century on comeback to help India close in on Sri Lanka's 205 on day two of the second Test in Nagpur on Saturday.
The hosts were 185 for one at tea, still trailing Sri Lanka by 20 runs in their first innings. Vijay, on 106, and Pujara, on 71, were batting at the break.
The batting duo, who resumed the day on 11-1, put together an unbeaten 178-run stand to take the attack to the opposition bowlers.
While Vijay added to the fifty he got before lunch, Pujara reached his half-century in the second session as India rammed home the advantage.
Vijay, who was returned to the team in place of Shikhar Dhawan after a long injury lay-off, made the most of his dropped catch on 61 when Dilruwan Perera failed to hold on to a chance at short mid-on off paceman Lahiru Gamage.
The right-handed opener smashed nine fours and a six during his 194-run stay so far with Pujara playing the sheet-anchor's role to perfection.
Gamage -- the only wicket-taker in the innings so far -- dismissed opener Lokesh Rahul for seven when India started their reply on the first day.
Both teams are looking to go one up in the three-Test series after the first Test ended in a draw in Kolkata.