Pujara was unbeaten on 37 and skipper Kohli on 35, having put on a 70-run unbroken stand after the initial hiccups.
Electing to bat, India lost openers KL Rahul and Murali Vijay inside five overs with scorecard reading 22 for two but Pujara and Kohli steadied the boat, dishing out an array of elegant ground strokes.
Rahul, who was playing in the Ranji Trophy, made a hurried return to the national team but failed to spend time in the middle, getting out for a duck.
Murali Vijay (20), meanwhile, looked in fine nick and hit four boundaries en route to reaching 3000 runs. But against a rising delivery from Anderson he found himself clueless as the ball came off his gloves and looped to Ben Stokes at gully.
Broad was soon off the field after aggravating his right wrist cut that he had sustained in the first Test and Stokes came in to replace him in the eighth over.
England tested the Indian duo with rising short deliveries but Pujara and Kohli stayed calm and rotated the strike well.
An exciting battle between the English leading wicket taker Anderson and Kohli was on display and the Indian skipper looked to have the upper hand when he got off the mark with an elegant boundary coming forward.
An element of luck also seemed to go with Kohli, who pulled Anderson as it took a top edge before flying to no-man's land en route to the boundary.
India also survived run out scares twice with Pujara at at the receiving end on both the occasions.
Known to be a slow runner, Pujara, on 22, was caught in a mix-up with an agile Kohli twice and was seen dropping his bat in desperation in one instance.
Fortunately for India it did not cost a wicket and Kohli addressed him in a long discussion in the middle.
England skipper Alastair Cook introduced spin as early as in 10th over by bringing in left-arm orthodox Zafar Ansari but without much success as the ball had little turn in the first session.
Ansari's spell read 6-1-19-0 and England brought back Broad after he returned to the field following some treatment to his wrist. But Kohli and Pujara looked firmly in control.
Earlier, Kohli made an intriguing selection when he handed 26-year-old offspinner Jayant Yadav a surprise Test debut, replacing Amit Mishra, who had bowled a magical 5/18 at this venue to skittle New Zealand for 79 three weeks ago.
In the same match, Jayant had made his ODI debut and today the Haryana offspinner was handed India's 286th Test cap by former India captain Ravi Shastri.
That senior pro Gautam Gambhir was making way for a fit-again KL Rahul was already made clear by Kohli as India made two changes to their XI.
England were bolstered by the return of their leading wicket-taker Anderson in place of Chris Woakes who's down with knee injury.