England reignited their World Cup campaign with a stirring victory over India, Jonny Bairstow letting his bat do the talking with a match-winning century at Edgbaston.
The stakes were impossibly high for the hosts after back-to-back defeats but Eoin Morgan's side held their nerve in a 31-run success, ending India's undefeated streak and reclaiming their own place in the top four.
Bairstow's suggestion that critics were "waiting for us to fail" had been poorly received during the week but he repaid any lingering debt in style, striking 111 to set up an imposing 337 for seven.
Bairstow did not go into battle alone, fit-again opening partner Jason Roy setting the tone with an aggressive 66 and Ben Stokes making it three half-centuries in a row with his bustling 79, but his knock did the heaviest lifting.
Roared on by a hugely partisan crowd which flipped home advantage on its head, India needed luck and skill if they were to make a record World Cup chase and Rohit Sharma had both. Dropped at slip by Joe Root with just four to his name he went on to make 102.
But despite that England's attack showed their mettle, Chris Woakes taking two wickets and a glorious boundary catch while Liam Plunkett justified his recall in place of Moeen Ali with three for 55 – including master batsman Virat Kohli.
England may not need to see off New Zealand at Chester-le-Street to seal a semi-final place but they go into their last group game knowing nobody can stop them if they do.
After Morgan won the toss Roy announced his return from a torn hamstring with two sweetly-hit boundaries in the first over of the day, the first steps in a 160-run opening stand with Bairstow.
The Yorkshireman twice inside-edged past his own stumps and Roy should have gone for 21, Hardik Pandya brushing the glove but failing to persuade either umpire Aleem Dar or his captain, who declined to summon DRS.
That aside, they picked apart the bowling with authority. After laying a solid base in the powerplay they dusted off the heavy artillery, muscling 108 off the next 11 overs.
Kohli brazenly persisted with spinners Yuzvendra Chahal and Kuldeep Yadav, reaping nothing but pain on the scoreboard and stiff necks for his boundary riders as England cleared the rope eight times.
Roy fell victim to a fine tumbling catch from substitute fielder Ravindra Jadeja in the 23rd over, Shami with the first instalment of his maiden five-for, but Bairstow pressed on to a hugely resonant hundred.
He balanced his big swings with some delicate sweeps and reverses, and celebrated in serene fashion rather than the emotional outburst many expected.
Yet England never quite regained their swagger. Having made his hundred in 90 balls, Bairstow chewed up 19 for his last 11 runs before perishing via a top edge off the persistent Shami.
Morgan was bounced out for a single and Root's cautious 44 acted too long as a handbrake on the innings.
The in-form Ben Stokes made up some of the lost impetus with six fours and three sixes – including an impudent switch-hit off Chahal – but it was a misjudgement by any reckoning that Jos Buttler had to wait until the 45th over to see action.
He still cleared the ropes twice before joining Shami's five-wicket haul, which relied as much on the pressure caused by Jasprit Bumrah's excellence as his own efforts.
Woakes began England's defence immaculately with three consecutive maidens and the wicket of KL Rahul, caught and bowled for a duck.
An even bigger scalp had already gone begging, though, Root grassing Rohit after a thick edge off Jofra Archer. That allowed Kohli and Rohit to pair up, easing through the gears in an ominous stand of 138.
Morgan cycled through his options for almost 26 barren overs as the pendulum tilted, before Plunkett struck gold. Kohli had become increasingly magisterial en route to 66 but played away from his body and picked out 12th man James Vince at backward point.
At 146 for two, India still needed almost 200 and the required rate leapt to precisely 10 with 15 overs remaining. Rohit was the man most likely to take a chunk out of that but fell to the first ball of Woakes' second spell, Buttler closing his gloves around a simple chance.
Rishabh Pant and Pandya both breathed life into the fading pursuit before succumbing to Plunkett, Pant to a quite incredible Woakes catch.
Motoring round the rope he made brilliant ground but still needed a diving finish to seal Pant's fate.
Even the master finisher Mahendra Singh Dhoni had too much to do, mustering 42 not out in a doomed cause.
ga('create', 'UA-72310761-1', 'auto', {'name': 'pacontentapi'});
ga('pacontentapi.set', 'referrer', location.origin);
ga('pacontentapi.set', 'dimension1', 'By Rory Dollard, PA Cricket Correspondent');
ga('pacontentapi.set', 'dimension2', '476e1b54-8b26-46ea-a883-78ae2b62866e');
ga('pacontentapi.set', 'dimension3', 'paservice:sport,paservice:sport:uk,paservice:sport:world');
ga('pacontentapi.set', 'dimension6', 'story');
ga('pacontentapi.set', 'dimension7', 'composite');
ga('pacontentapi.set', 'dimension8', null);
ga('pacontentapi.set', 'dimension9', 'sport:cricket');
ga('pacontentapi.send', 'pageview', { 'location': location.href, 'page': (location.pathname + location.search + location.hash), 'title': 'England beat India to get semi-final chase back on track'});