Captain Andrew Strauss hit his second century in as many matches as England reached 259-2 in reply to West Indies' 370 by the end of day two at Trent Bridge.
Having registered his first hundred since November 2010 at Lord's last week, Strauss scored 102 not out at Trent Bridge - the 21st century of his Test career putting him within one of an England record held jointly by Geoffrey Boycott, Colin Cowdrey and Wally Hammond.
Kevin Pietersen provided the fireworks in an unbroken stand of 136, contributing a rapid 72 not out.
England closed 111 behind and, barring an unexpected collapse in the morning, will anticipate a score in excess of 500 as they press for a series clinching win.
Strauss' opposite number Darren Sammy had earlier advanced to his maiden Test hundred before Tim Bresnan's three-wicket burst helped bring an end to West Indies' first innings before lunch.
England would have been reasonably happy with their morning's work in the field, taking the remaining four West Indies wickets for 66 runs on what remained an essentially flat track.
Sammy was even more pleased, though, as he turned his overnight 88 into a hundred in quick time.
He rode his luck on day one and did so again to reach his landmark, bringing up his ton with a pair of fortunate fours against Stuart Broad.
Neither went where he intended, the first skewed over the cordon and the second just clearing Ian Bell at backward point despite Sammy aiming for mid-wicket.
Nevertheless, his 140-ball knock - just his second first-class century - was worthy of his whole-hearted celebrations.
Bresnan then took three quick wickets to shift the momentum, dismissing both centurions in successive overs.
Sammy hoisted to Kevin Pietersen at deep mid-wicket and Samuels, who added just 10 to his overnight 107, drove loosely to Anderson in the gully.
Bresnan, finishing with four for 104, also sent back Kemar Roach, with Graeme Swann mopping up last man Shane Shillingford.
That left five overs before lunch, which would have been enough for Roach to dismiss Alastair Cook for one had he not been called for no-balling.
If that reprieve was galling for the Windies, it is hard to imagine how they felt when Roach served up an exact replica six overs into the afternoon session.
Again he found Cook's edge, again wicketkeeper Denesh Ramdin pouched the catch and again Aleem Dar chalked it off for over-stepping.
Yet the lesson was not learned, with Roach serving up six no-balls in seven overs, much to the crowd's mirth, before being hauled out of the attack.
Strauss and Cook started cagily but cashed in fully on anything loose - Cook crashing Ravi Rampaul through mid-wicket and point and Strauss cutting the same bowler powerfully to the ropes.
Cook finally fell at the third time of asking, nicking Rampaul for 24.
Strauss, following a couple of plays and misses, eased Sammy through the covers to bring up England's 50 before he and Jonathan Trott opened their shoulders to add 59 runs in 10 overs before tea.
A full-toss and a mis-field gifted Strauss two boundaries in six balls, with Trott milking the returning Roach for successive fours of his own.
The Warwickshire batsman was beginning to time the ball nicely after a watchful start, scoring 13 off a single Sammy over - finding the boundary boards three times within a matter of moments.
That flurry took England racing into three figures but Trott's fun was cut short two balls into the evening session, Rampaul pinning him lbw for 35.
England reacted to that setback by plundering 17 runs from a single Shillingford over, Pietersen clubbing him for six down the ground and Strauss twice picking out the empty third-man area.
The second of those strokes brought Strauss' half-century, from 116 balls, while Pietersen survived a genuine lbw scare against Rampaul.
Both batsmen saw inside-edges flash past the stumps as Roach tried hard to part them but Shillingford continued to be expensive at the other end, both men helping themselves against his innocuous off-spin.
Pietersen, accumulating regularly on the leg-side, nudged Sammy off his pads to take the score to 200 then delved into his Twenty20 arsenal to scoop Samuels over his shoulder for his fifth boundary.
Runs were coming freely by the close, Pietersen moving beyond 50 as Strauss moved within sight of three figures.
Pietersen's muscular hitting was threatening to steal his captain's thunder in the closing stages, but Strauss' 18th four - punching Shillingford through midwicket - ensured him the ovation he deserved.
His century occupied 192 balls, with Pietersen finishing on 72 from exactly 100.