India recovered from Jonny Bairstow clinching yet another century to finish an eventful third day of the fourth Test against England with a healthy 257-run lead.

Bairstow led a fine England counter in a thrilling morning session, bringing up his third century in as many Tests as the hosts looked to make up for a poor start to their first innings.

But after Bairstow's team-mates toiled in being bowled out for 284, India recovered from the early loss of Shubman Gill to reach 125-3 by close of play, leaving the hosts with it all to do on day four. 

The hosts enjoyed some good fortune upon resuming, with skipper Ben Stokes (25-36) being dropped in inexplicable fashion by Jasprit Bumrah before gifting the visiting captain a catch with an identical shot off the very next ball.

As has often been the case since Brendon McCullum took charge, England were left to rely on the brilliant Bairstow, who dragged them into contention by bringing up his century – the 11th of his Test career - off 119 balls shortly after lunch.

But their momentum dissipated when Mohammed Shami had him caught for 106 off 140 to reduce England to 241-7, before Mohammed Siraj dismissed Stuart Broad (1-5) in the very next over and finished the innings 4-66 after accounting for Sam Billings (36-57) and Matthew Potts (19-18).

Needing a fast start to have any hope of teeing up another successful chase, England were boosted when James Anderson had Gill (4-3) caught at slip, his fourth Test dismissal of the India opener.

Broad and Stokes then claimed a wicket apiece as Hanuma Vihari (11-44) and the out-of-form Virat Kohli (20-44) were felled, before Cheteshwar Pujara bought up a slow half-century off 139 balls. 

He and Rishabh Pant (30 not out) were then content to see the day out in quiet fashion, with England now requiring wickets to fall quickly on Monday.

Brilliant Bairstow drags England into contention

The pressure was on when England resumed on Sunday, and Bairstow – so often the key man in the early days of McCullum's red-ball revolution, stepped up after a bout of sledging from Kohli.

In recording his first century against India in Test cricket, Bairstow went from 13 off 61 balls to 100 off 119, going up through the gears in rapid fashion when England needed him most.

Siraj halts hosts' progress

With England having recovered from 84-5 to 241-7 by Bairstow's dismissal, India could have been forgiven for thinking back to the way McCullum's men conducted three successful chases of over 250 against New Zealand in their recent series whitewash.

But Siraj stepped up to claim a four-wicket haul as India held off their hosts, leaving England requiring something special to level the series at 2-2.