England 537 (Stokes 128, Root 124, Moeen 117) and 260 for 3 decl. (Cook 130, Hameed 82) drew with India 488 (Vijay 126, Pujara 124, Ashwin 70, Rashid 4-114) and 172 for 6 (Kohli 49*, Rashid 3-64)
Scorecard and ball-by-ball details
On a day that Alastair Cook scored his fifth Test century in India, the most by a visiting batsman, he came desperately close to registering an unlikely Test win, but his opposite number Virat Kohli and R Ashwin saw India through with a 14.2-over partnership after England needed six wickets in 25.2 of the minimum of 49 overs they had given themselves to win the Test in. As England bowled their overs quickly and got 52.3 of them in, Kohli, digging in, having a go at the team mascot for returning the ball too soon, casting rueful glances at his departing partners, hitting boundaries to eat up time, rescued India when they nearly threw it away through no experience of batting when to save Tests.
As much as Kohli's resistance, the lower-order runs in the first innings and some tight bowling at times, India could thank umpire Chris Gaffaney's interpretation that Ashwin was playing a shot when his bat would be hidden behind the pad and about a foot wide of the line of the ball. It arguably earned India nine overs.
Ashwin went on to survive 53 balls to go with Kohli's 98 to finish a Test that he will count as a good one despite taking only three wickets in the whole match. England, though, will consider it as a moral victory. Ashwin had to bowl 61 overs for third of those wickets after he had struck with the last ball of the first session of the Test. His match figures of 3 for 230 were keeping in with his overall average of 53.4 against England.
On the final day, Ashwin felt the need to bowl with a changed action, getting more side-on, rocking back on the right foot, which resulted in more pace and more rip, but all that it got him was economical figures. He conceded 31 runs in 13.3 overs, which might have had a part to play in the slightly conservative declaration: the asking rate for India was over six an over.
Having come so close in the end, England will wonder if they could have declared earlier - when the asking rate reached five perhaps - but only those who have worked extremely hard to get into lead will know the risks involved in giving a chance to an opposition that had won 12 last home Tests not affected by weather. They would have also taken into the equation the pitch, which was turning square in the end but when England batted it did so from the rough and not from the centre, which is what concerns most batsmen.
There will be those criticising the pitch, but they will do well to look at the number of missed chances that rose to 11 with Zafar Ansari dropping a tough chance from M Vijay and Stuart Broad shelling a dolly from Cheteshwar Pujara. Any of those wickets, coming at the back of Gautam Gambhir's duck, would have opened the Test up. Staying unbeaten would have helped Gambhir's case on a day that KL Rahul returned to first-class cricket. As he looks to revive his Test career, Gambhir did himself no favours by giving second slip catching practice after having played all around a straight delivery in the first innings.
Vijay and Pujara then calmed India's nerves for a bit before they got into an unusual drive fest against the spin of Ansari. Vijay had lofted him down the ground beautifully in the first innings, but this time got too close to one and failed to get the elevation. Drilled back at Ansar, this half chance hit the index finger of the right hand and popped out. The next offering, in the 11th over, went to Broad at point at about one-fifth the pace but popped out again.
By the time Pujara got out lbw to Rashid's legbreak that hit him in front of middle, which should mean that on a fifth-day pitch this had to be pitched outside leg, England had lost 5.4 valuable overs. Pujara's partner, Vijay, didn't help matters by looking away as opposed to being alert to a possible review.
This was just before tea. Soon after the break, Vijay was done in by Rashid's drift; playing at a delivery that pitched outside leg and came back to take his inside edge for a bat-pad catch. Ajinkya Rahane saw a short ball, shaped up to pull and exposed his stumps, and then ended up looking to cut as this Moeen Ali offbreak cramped him up. He was bowled off the pads, and you wondered if India - not the best at batting out draws - would mess this up too.
Either not trusting their defensive games or mindful of bouncing balls going to hand if they defended, Kohli and Ashwin too kept playing their shots. Except in one particular over when Ashwin exploited the umpires' leniency towards batsmen pretending to play at balls. On three occasions he was hit on the front pad well in front of and straight of the bat. On all three occasion, Gaffaney ruled not-out because he reckoned Ashwin played those balls. As much was confirmed when England challenged the middle call.
The DRS playing conditions have no room for the third umpire to overrule the on-field umpire on whether the batsman played a shot or not. Gaffaney told third umpire Rod Tucker Ashwin had offered his bat in his opinion. The replays returned an umpire's call here, but the other two were hitting the stumps flush.
Finally, though, India's need to attack got the better of them and Ashwin drove Ansari to short cover after having hit three fours in an Ansari over. India still had a minimum of 10 overs to survive. Wriddhiman Saha came out charging at the spinners, and was applauded by Kohli when he lofted one over mid-on. The charge got him soon as he offered a return catch to Rashid. This brought back memories of Adelaide when India had come close to an improbable target, but lost in a collapse triggered by Saha's forays down the wicket.
Kohli, though, stayed firm as the Test grew tenser in the last 10 overs. England tried everything. They brought all the fielders in, their reserve fielders sat the edge of the boundary to save time should India hit boundaries. One such boundary, hit by Ravindra Jadeja, bisected the two reserve fielders, but was returned promptly by Dharamveer, a specially abled man who travels to India matches and is allowed to watch from the boundary edge. Kohli let his annoyance known.
Kohli saved the match in his own way. He used his wrists to keep the ball down but kept driving hard at balls. In he 46th over, it nearly got him out as he looked to whip a sharp offbreak to midwicket. The ball, fortunately for him, fell straight of forward short leg. In his own way, Jadeja kept hitting boundaries with Rashid spinning the ball into him, and ended up with 32 off 33.
England will still be happy they pushed India after their batsmen had made the pitch and the bowling look easy. Cook became only the fourth visiting batsman to score 1000 runs in India, Haseeb Hameed registered the highest score for an England teenager but fell 18 short of what would have an emotional debut century in front of his family, and the promoted Ben Stokes scored a run-a-ball 29 to facilitate the declaration, but as it turned out England didn't have enough time in the end.
Sidharth Monga is an assistant editor at ESPNcricinfo