Cheteshwar Pujara tormented England with an unbeaten 132 to give India a narrow but potentially priceless advantage in the fourth Test at the Rose Bowl on Friday.
Pujara struck his 15th Test hundred in Southampton with a fine knock, patient throughout and protecting the tail to snuff out the momentum England had built up thanks to Moeen Ali.
Five wickets on his Test return showed Moeen's importance to England's side – following his 40 on day one – and he was excellent with the ball, accounting for India's middle and lower order in a fine spell of spin bowling.
Moeen's 5-63 had put England on the verge of an unlikely first-innings lead as India fell to 195-8, still 51 behind, but Pujara, Ishant Sharma (14) and Jasprit Bumrah (6) put on 78 for the final two wickets as the hosts toiled in the last hour.
Even the arrival of the new ball did not bring an immediate reward, Stuart Broad eventually removing Bumrah with India 27 ahead on 273.
Alastair Cook and Keaton Jennings managed to survive a tricky four-over spell in the final throws of day two, but the pressure will be on both men to put the hosts – who trail by 21 – into a commanding position.
England's first-innings total of 246 seemed light at the end of the opening day but Broad began the fightback with two early wickets as KL Rahul and Shikhar Dhawan failed to build on their starts.
Rahul (19) was trapped lbw by a delivery that speared into his pads, and 10 overs later Dhawan followed for 23 as Broad (3-63) lured him into a loose shot with an outswinger.
Pujara and Virat Kohli looked set to take the game away from the hosts with a 92-run partnership for the third wicket, both men making the most of loose deliveries from England's bowlers.
It took a superb delivery from Sam Curran (1-41) to turn the game back in England's favour, the all-rounder claiming the prized wicket of the captain for 46, Cook taking an excellent low catch at first slip.
That began a collapse that cost India a healthy lead, the visitors losing another five wickets for the addition of just 53 runs.
Moeen was their tormentor-in-chief as Rishabh Pant (0), Hardik Pandya (4), Mohammed Shami (0) and Ravichandran Ashwin (1) were all bamboozled by his off spin – the latter failing to connect with a questionable reverse sweep.
Pujara remained a thorn in England's side, though, as he moved to three figures with consummate ease before helping India into a small lead.
Along with last man Bumrah the centurion frustrated England late in the day, Pujara finishing unbeaten as the hosts were left to rue not finishing India off when in the ascendancy.
Scores in the game: England 246 and 6-0; India 273.