with a ball that drifted in and turned big on pitching to take the leading edge for Nick Compton to bring off a good diving catch.
Kohli had cover-driven the left-arm bowler and his spin partner Swann for attractive boundaries in successive overs before he was lured by the crafty Sikh.
The slow bowler made the ball drift in to the right-handers and extracted sharp turn off the track.
He could have had the confident-looking Pujara too when the batsman, batting on 60 in a team score of 135 for five, edged the bowler to the left of Anderson who could not latch on to the catch at short gully.
Had it been taken India would have been in deeper trouble.
Prior to this slice of luck Yuvraj, who made 74 on his Test comeback in Ahmedabad, had departed for a second-ball duck, clean bowled by Swann. Swann had been brought on for a new spell by skipper Alastair Cook soon after the left-hander arrived at the crease, and the move paid off.
The hosts lost these two wickets in successive overs for the addition of just one run to be tottering at 119 for five and the loss of Pujara, easily the best Indian batsman against the turning ball in this match, would have been a major blow to their hopes of putting up a fighting total.
Dhoni came to the crease and started to attack the two spinners with his drives and cuts.
He was lucky on 22 in a score of 149 for five when he stepped out against Swann, missed a big heave but luckily the ball clipped the top of his pad and got deflected before wicketkeeper Matt Prior could stump the batsman.
Dhoni was later out, caught off the gloves in the close-in cordon, off Panesar. Pujara and Ashwin, however, held fort.
Even the second new ball, taken after 80 overs, did not benefit England.
Pujara pulled Anderson for a four to complete his 100 in 248 balls, before Ashwin struck the bowler for three fours in an over to race to 50 in 67 balls.
The off-spinner has hit a century at this ground