Shai Hope made history as Windies pulled off the second-highest successful run-chase at Headingley to stun England and earn an astonishing series-levelling, five-wicket victory on day five of the second Test.
Hope (118no) became the first batsman to score a century in each innings of a first-class match at the ground in 127 years as the resurgent tourists, beaten inside three days in the first Test, chased down their target of 322 in 91.2 overs to claim Windies' first Test win in England in 17 years.
The 23-year-old and Kraigg Brathwaite (95), who shared a fourth-wicket stand of 246 in the first innings, exuded calm and control as they put on 145 for the third wicket second time around.
Fittingly, Hope clipped the winning runs with a minimum of four overs remaining after sharing a pulsating 74-run stand for the fifth wicket with Jermaine Blackwood (41 off 45 balls).
The tourists looked hapless only 10 days ago as they lost 19 wickets in a day to suffer defeat by an innings and 209 runs at Edgbaston but fought back with a performance full of heart to win one of the great modern-day Tests.
It signalled a coming-of-age for Hope, who averaged just 18.61 in his previous 21 Test innings, but lined up England's attack superbly to follow up his first-innings 147 - his maiden century - with a hundred off 175 balls.
James Anderson, needing three wickets to become the first England bowler to take 500 Test wickets, ended up wicket-less - his historic moment on hold, at least, until next week's third Test at Lord's.
Windies resumed on 5-0, needing another 317, and enjoyed an early reprieve when Alastair Cook dropped Brathwaite on four at slip off Stuart Broad - England's fourth missed chance of the Test and the 11th overall.
James Anderson and Stuart Broad beat the bat consistently under overcast skies but Kieron Powell and Brathwaite battled hard, rotating the strike well.
It took England 45 minutes to break through - Powell falling for 23 as he edged Broad to Ben Stokes at third slip after exchanging words with Anderson at the end of the previous over.
Anderson came within an inch of claiming England's second wicket only for Brathwaite's edge to fall short of Westley at third slip but soon did bag another in the most fortunate of circumstances.
Kyle Hope was the unlucky batsman, run out for a five-ball duck at the non-striker's end after Broad spilled a return catch from Brathwaite - on 29 at the time - only to deflect the ball onto the stumps.
The opener pressed on to register his fifty off 98 balls with seven fours, Shai Hope reaching the same milestone in 28 few balls as England's frustration grew.
When the pair's 100 stand came courtesy of a tickled Brathwaite four to fine leg, Broad kicked at the pitch in anger and received a talking to from Umpire Sundaram Ravi.
It was only the fourth time that two batsmen have compiled two century stands in a single Test for Windies - Brathwaite and Hope also only the seventh pair to have got a 200 and 100 partnership in the same match, behind Clyde Walcott and Everton Weekes.
England needed a lift and got it just before tea when Brathwaite drove at a wide delivery from Ali and edged into the hands of Stokes at slip before leaving to a standing ovation.
Roston Chase (30 off 58) chipped away at the target, frustrating England in obdurate fashion before launching Chris Woakes to mid-on where substitute fielder Mason Crane, only just on the park, grabbed a fine diving catch.
Ever-positive Jermaine Blackwood took the runs-required tally to under fifty by striking Anderson down the ground for six before responding to Hope's call for the quick single that took him to three figures.
When Hope did offer a chance, slashing at Broad on 106, Cook could not hold on to the rapid chance and the batsman rubbed salt in the wound by upper-cutting the seamer for six.
Blackwood also got a life when Stokes dropped him in the deep but with just six runs needed off almost as many overs at the time and while Blackwood fell with victory in sight, England's fate was already sealed.
Watch live coverage of the third Test between England and Windies on Sky Sports Cricket with over-by-over commentary and in-play video clips on our live match day blog, available across Sky Sports digital platforms, from 10am on Thursday 7th September.