Windies gained a first-innings lead over England for the first time since 2004 as Kraigg Brathwaite and Shai Hope struck defiant centuries on day two of the second Test, at Headingley.
Brathwaite (134) and Hope (147no) shared a superb fourth-wicket stand of 246, rallying the tourists from 35-3 so that by stumps Jason Holder's side were 329-5 - an advantage of 71 runs.
After losing 19 wickets on the third and final day of the first Test, Windies responded to coach Stuart Law's call for greater stoicism with a batting display that largely blunted England's attack despite the consistent movement on offer for their seamers.
Brathwaite reached his sixth Test century with a six off Tom Westley and showed great composure throughout his 249-ball knock, twice successfully reviewing lbw decisions given against him.
The 24-year-old found an admirable foil in 23-year-old Hope, who completed his maiden century in his 12th Test by mixing application with eye-catching stroke-play.
The pair thwarted England to such an extent in a wicketless afternoon session that the hosts' best option was to wait and hope the second new ball would bring a change of fortune - and it did in the 10th over, when Stuart Broad (1-73) bowled Brathwaite with one that nipped back.
It was a far cry from a morning session in which James Anderson (3-46) took his overall wicket tally in Tests to 495 with a two-wicket burst.
Nightwatchman Devendra Bishoo (one) was the first to fall after Windies resumed on 19-1, edging behind while attempting to cut, before Kyle Hope (three) snicked a full delivery to Joe Root at second slip.
Brathwaite and Hope revived the innings with a century stand off 140 balls - putting on 97 without loss after lunch as Joe Root rotated his bowlers to little effect.
Hope reached his second fifty in 12 Tests with a glorious drive down the ground off Chris Woakes (0-58) and remained resilient despite taking a blow on the back of the helmet from Ben Stokes on 60.
The Windies' previous best stand in the series was the 45 shared for the second wicket by Kyle Hope and Kieran Powell at Edgbaston but that was already dwarfed by the time Hope rocked back to cut Ali for four and bring up the 150 partnership off 264 balls.
Hope, on 72, turned Ali into Mark Stoneman's mid-riff at short leg but the ball didn't stick and then all eyes were on Brathwaite as he moved carefully through the nineties before clearing long on to go to three figures with a maximum.
The nineties proved a breeze for Hope, who drove Ali for four to pass his previous best score - the 90 he scored against Pakistan in Barbados earlier in the year - and crunching Stokes to the rope to move to 99.
A single off his hip took Hope to three figures off 159 balls, with 17 fours, and ensured Windies had two batsmen with centuries in an innings for the first time since the 2014 Boxing Day Test against South Africa 2014.
After spending the best part of five hours with his pads on, Roston Chase's stay at the crease was short-lived once Broad castled Brathwaite - Alastair Cook pouching an edge off Stokes at slip.
Jermaine Blackwood (21no) creamed his second ball through the covers for four as if to highlight England's trials would not be short-lived on day three - a day on which Hope could become the first Windies batsman to score 150 in England since Brian Lara in 1995.
Live coverage of the second Test between England and Windies continues on Sky Sports Cricket from 10am on Sunday with over-by-over commentary and in-play clips on our digital platforms.