Talk about slaying demons. This time last year, England looked as if they couldn't play India's spinners - and Kuldeep Yadav, in particular - to save their lives.
Barely a week after Kuldeep claimed 5 for 24 in an T20I in Manchester on July 3, 2018, he took 6 for 25 in an ODI in Nottingham, on July 12. Underlining his mastery over England, he dismissed Joe Root with the first ball he bowled at him in both matches.
But things change. By the end of that limited-overs series, Root had made two unbeaten centuries and England felt they had worked out a method to combat Kuldeep.
They knew the challenge that awaited them in this game. They had learned from last year and they had trained extensively against a really quite good left-arm leg-spin bowler, 20-year-old Nick Oxley, who has been bowling at them in the nets in recent days. They were ready.
It was England's play against spin that separated the sides in this match. For while the excellence of England's seamers was matched - or even surpassed - by India's, only one side was obliged to deliver 20 overs of spin on a pitch offering them little. And while India's seamers conceded a more than respectable 173 from their 30 overs, India's spinners conceded a somewhat less respectable 160 from 20.
Watch on Hotstar (India only): Highlights of Roy's innings
While last year, England were tentative against Kuldeep and Co., here they were bold. His first over was taken for 13, his second for 12. While last year he was able to post two slips - leg and conventional - here he spent more time wondering which boundary to protect. By the time he had bowled four overs, he had conceded 46.
It's not hard to see why England took a chance with Jason Roy's fitness. The uncompromising manner in which he attacks bowlers can not only unsettle them, but take the pressure off his partners. In Kuldeep's first over he twice skipped down the pitch to drive him back down the ground while Yuzvendra Chahal was swept - both slog and reverse - until he wasn't sure where to bowl.
Roy has now passed 50 six times in seven ODIs in a spell which has also included two centuries. It is telling that England lost the only match in which he failed - he made eight against Pakistan earlier in this tournament - and two of the games he missed. "He intimidates bowlers," his captain, Eoin Morgan, said. "He's a gun player. Having him back is a big confidence booster for everyone."
The partnership with Jonny Bairstow is prolific. They have now recorded nine century stands in the 30 ODIs in which they have opened together, with seven more half-century stands. Their average - 65.86 - puts them right at the top of regular ODI partnerships (20 or more games) in history.
And if Bairstow frustrated a few of his teammates - and certainly some of the team management - with his comments ahead of the game, he does seem to perform better when he feels he has a point to prove. So while he enjoyed some fortune early in this innings - 11 of his first 17 runs came from the edge and twice he survived inside edges passing perilously close to the stumps - he also produced some bold strokes: all six of his sixes came off the spinners; all six came in the arc between long-on and mid-wicket with Chahal conceding four of them. It seemed to make no difference if there was a man on the fence; it seemed to make no difference if it was the long boundary.
"It was definitely a match-winnings innings," Morgan said. "He likes a bit of fire in his belly and, if he plays like that [afterwards] I don't mind."
The pace they score is important, too. Recognising that stroke-making is likely to be easier against the newer, harder balls, England are far more aggressive in the opening overs than India. So while they managed a relatively modest 47 from their first 10 overs here, it was still 19 more than India. After 20 overs, the difference was 62 runs (145-0, compared to 83-1). Eventually the rate grew too steep even for MS Dhoni to contemplate.
Watch on Hotstar (India only): Bairstow dazzles with 111
So bright was the start provided here - England were 160 without loss after 22 overs - that it allowed their teammates to withstand a later period when they scored just 25 in 10 overs in mid-innings (from the 28th to the 37th over). As a consequence, they still had wickets in hand for a late assault which, on this occasion, was provided by Ben Stokes. He has now made between 79 and 89 four times in the tournament, with Rohit Sharma praising his defining contribution. "Until then we were in the game," he said. "We needed someone like Stokes." But could Stokes' acceleration have come without the platform provided by his openers? It seems unlikely.
Both Bairstow and Morgan later insisted there was no predetermined plan to target the spinners. Rather, Morgan said, they had hoped to put all the bowlers "under as much pressure as possible" in the hope that one of them cracked. That wasn't possible with Mohammed Shami - whose figures were spoiled by an expensive couple of death overs but was exemplary at the start of the innings - and Jasprit Bumrah immaculate. But once Roy survived a leg-side catch off Pandya - he had 21 at the time; if India had called for a review he would have been out - it precipitated an acceleration which saw 108 plundered from the next 10 overs. In all they took 112 in 80 deliveries from the spinners, giving them no chance to settle into a spell.
"It was a great period for us," Morgan agreed. "That period from overs 10 to 20 was probably the difference in the game. Jonny and Jason can make wickets seem flat. And they did in that period."
Maybe England read the conditions better, too. While the evidence of the previous game on the ground - the Pakistan and New Zealand match - suggested there would be significant assistance for spinners, England realised that may not be the case here. That previous game had been played on a used surface, after all, and after a period of prolonged poor weather which had limited the ground staff's preparation time. This was a fresh surface and the game was played after two of the hottest days of the year.
So England left out Moeen Ali. The seamer they played instead, Liam Plunkett, benefited from some purchase with his cutters and claimed the wickets of Virat Kohli, Rishabh Pant and Hardik Pandya; which is quite a trio. India, meanwhile, persevered with two spinners. And while they were committed to bowling 20 overs of spin - overs that cost 160 in all - England delivered just six. All of India's seamers conceded fewer than seven runs an over; both their spinners conceded more. The India squad looks at least one seamer short.
"It was a lot more difficult to face seam on that wicket," Bairstow said. "It was a bit two-paced so we had a difficult start against them. And their spinners have been a strength of theirs in those middle overs for a long time. But we played them well and you build confidence."
Confidence that could yet serve them well in this tournament. If - and it is a big if - England can defeat New Zealand on Wednesday, there is a strong chance (South Africa would have to beat Australia to deny them) they could meet India again at Edgbaston in the semi-finals. Bearing in mind England have now won 10 international matches in a row here and the confidence with which they negated the spin threat may leave India with some thinking to do.
Such scenarios can wait. This was a day when England's World Cup campaign could have come to a standstill. They will go to Durham with hopes revived.