(CNN) -- Recalled off-spinner Graeme Swann snapped up five wickets as West Indies were dismissed for 285 against England on the third day of the third Test at Antigua.
Sarwan was denied his second century of the series when he was dismissed four runs short of his century.
It left England with a commanding advantage which they had stretched to 312 runs by the close for the loss of captain Andrew Strauss as they reached 31 for one wicket.
England will hope to increas their lead to nearer 500 before declaring on the fourth day as they bid to level the series after losing the first Test in Jamaica,
Swann more than justified his place at the expense of Monty Panesar with two early wickets on the third day as West Indies, facing a follow-on threat, lost half their side for 201.
In the final session Swann stopped Ramnaresh Sarwan six runs short of his century on a sweltering third day at the Recreation Ground.
Next ball Swann took a return catch from new batsman Denesh Ramdin without addition to leave West Indies struggling at 251 for seven.
Sarwan had hit a hundred in the first Test on Jamaica, but hopes of repeating the feat ended when he was caught at short midwicket by Andrew Flintoff for 94.
Nash (18) became Collingwood's second catch-of-the-day and Flintoff's second victim before Swann claimed his fifth victim when he trapped Benn leg before for a duck.
Flintoff's third wicket saw them all out for 285 -- but England decided against enforcing the follow-on with Flintoff and Steve Harmison carrying nagging injuries.
Devon Smith (38) was Swann's first victim of the day before the England man tempted Daren Powell (22) to give an outside edge to Paul Collingwood at slip -- the hosts taking lunch on 132 for three.
Pace bowler Harmison had been forced off the field midway through the session after feeling sick -- and England toiled after lunch as Sarwan brought up the 50 partnership with Ryan Hinds.
With the score on 200 and England's bowlers visibly wilting in the sun, the tourists finally claimed another breakthrough.
A ball from Flintoff angled across Hinds (27) caught the edge of the left-hander's bat and Matt Prior took a good low catch.
Stuart Broad then claimed the wicket of Shivnarine Chanderpaul for just a single when the ICC cricketer of the year drove at a full delivery and Prior held another good catch.