At tea, on the fourth day, England were 341 for seven in reply to West Indies' 287, a lead of 54 runs.
All-rounder Collingwood was 115 not out, his second hundred of the series after his 111 in the drawn opener at Lord's and fifth in a 24-Test career.
Durham team-mate Stephen Harmison was one not out.
Collingwood, together with Matthew Prior (62), added 169 for the seventh wicket after Ian Bell fell cheaply to leave England in trouble at 165 for six.
Fast bowler Fidel Edwards, who ended the partnership when Prior hooked to Devon Smith at deep square leg, had figures at tea of five for 88 in 20 overs - the fifth time he had taken five wickets in a Test innings.
At lunch, England were 202 for six, 85 behind, with Collingwood 35 not out and Prior unbeaten on 16.
Collingwood then went to fifty with a four through the slips off seamer Corey Collymore.
West Indies captain Daren Ganga turned to the off-spin of Marlon Samuels, primarily a batsman, as England moved closer to parity.
Collingwood, however, confidently swept Samuels for four before a similar shot from Prior off the same bowler went for six.
The century stand came up in 165 balls when Collingwood cut Samuels for four, the second fifty up in 70 balls as England, with the new ball looming, cashed in against the lesser bowlers.
West Indies had let England off the hook, with Samuels's five overs costing 35 runs and by the time they took the new ball, as soon as it was available after 80 overs, their opponents were 295 for six.
Prior, who became the first England keeper to score a century on Test debut with 126 not out at Lord's, scythed the first delivery with the new ball, from Collymore, over the slips for four and next ball completed an 87-ball fifty in style by lofting the seamer over mid-wicket for six.
Collingwood then went to 98 with an on-driven four off Edwards before pulling him to reach a hundred in 149 balls with his 13th four.
Runs were coming quickly, England scoring 29 off the first two overs with the new ball.
They resumed Monday on 121 for four, after losing three late wickets on Sunday, with Andrew Strauss 72 not out.
That left England 166 behind after West Indies had been rescued by Shivnarine Chanderpaul's unbeaten 136.
Strauss had only added five to his overnight score when Edwards had the left-handed opener edging to wicket-keeper Denesh Ramdin.
His 77, which featured 11 fours, was Strauss's best Test score since his 116 against Pakistan at Headingley in August 2006.
At tea, West Indies had given away a wasteful 34 runs in bowling extras in contrast to England's lone-no ball from Collingwood.
England have an unassailable 2-0 lead in the four-match series.
Brief Scores (at tea, D-4):
West Indies Ist innings 287 (Chanderpaul 136 n o; Sidebottom 5 for 88) Vs England Ist innings 341 for 7 (Collingwood 115 n o, Strauss 77, Matt Prior 62; Edwards 5 for 88, Powell 1 for 78).