Monty Panesar took 10 wickets in a Test for the first time as England beat West Indies by 60 runs to win the third Test at Old Trafford in Manchester on Monday and so take an unbeatable 2-0 lead in the four-match series.
West Indies, chasing what would have been a record fourth innings winning total of 455, were bowled out for 394.
Panesar, who finished the match by dismissing last man Corey Collymore, had an innings return of six for 137. Coupled with his first innings four for 50, that gave him a match haul of 10 for 187.
Harmison, who took two wickets in four balls after lunch, to end West Indies' hopes of victory, took four for 95 in a much improved display.
Shivnarine Chanderpaul was 116 not out as England captain Michael Vaughan became his country's most successful Test skipper of all-time with 21 wins.
"It's special because we won the series," said Vaughan after the match.
"This has been one battle. It was tough but the team came through it well. Shiv (Chanderpaul) probably played the best I've seen in Test cricket."
West Indies skipper Daren Ganga added: "Compared to the last Test match we played it's been a wonderful improvement. It was very competitive but our batting wasn't up to standard. We haven't had consistency in all aspects of our game.
"We're looking foward to the last match even if we have a lot of work to do."
Panesar, who'd dropped Chanderpaul on 18, finished the match when he had last man Corey Collymore taken at short leg by Ian Bell, although it needed the third umpire to give the decision.
The fourth Test at Durham's Riverside ground starts on Friday.
At lunch, West Indies, 1-0 down in the four-match series, were 379 for seven, needing a further 76 runs to reach their target.
Chanderpaul was 104 not out, his 15th Test hundred and first in more than two years. Jerome Taylor, missed on one, was 10 not out.
Harmison, with the second ball of the second over after lunch, had Taylor, on 11, fending a lifting delivery to Alastair Cook at short leg for the Durham quick's 200th Test wicket.
And new batsman Fidel Edwards went for a three ball nought when, a rising ball came off the face of the bat and went to Bell in the gully.
West Indies resumed Monday on 301 for five, needing 154 more runs in a minimum of 90 overs to reach their record-breaking target.
Chanderpaul was 81 not out and wicket-keeper Denesh Ramdin 26 not out.
Back in May 2003, Chanderpaul made 104 when West Indies scored a Test record fourth innings winning total of 418 for seven against Australia in Antigua.
Ramdin started confidently, cutting the first ball from Panesar for four. But the 15th ball of the morning, saw a Panesar delivery which turned and bounced take the shoulder of Ramdin's bat on its way to Paul Collingwood at slip, West Indies 311 for six.
The keeper, dropped by opposing gloveman Matthew Prior on four, was out for a battling 32 made in an-hour-and-a-half, having put on 62 with Chanderpaul.
Experienced left-hander Chanderpaul, who missed West Indies record innings and 283 run defeat in the second Test at Headingley with a knee injury, now needed someone to stay with him.
Debutant all-rounder Darren Sammy, whose seven for 66 with his medium-pacers had restricted England to a second innings total of 313 and so given his side a glimmer of hope, got off the mark with a square-cut four off Harmison.
Sammy, on 20, pulled up and received on-field treatment for what appeared to be a right hamstring injury.
He continued and late cut Panesar past Collingwood at first slip for four.
But next ball Panesar got rid of Sammy on 25 when he held a two-handed return catch off the batsman's drive, the bowler claiming his fifth haul of five wickets or more in a Test match innings which include five for 72 against Pakistan at Old Trafford last year.
Panesar, 25, almost dismissed Chanderpaul, in his 103rd Test, when a delivery turned sharply and just cleared the batsman's off-stump as he played no shot.
Chanderpaul's single off Harmison saw him to a 233 ball century after more than six hours at the crease with 12 fours.
It was the 32-year-old's third Test hundred against England and first against anyone since making 127 against South Africa in Antigua in May 2005.