Harmison, 26, took the wickets of James Pipe, Matt Mason and David Wigley in successive balls - all bowled on his way to an innings return of five for 61.
It was Durham's first hat-trick in first-class cricket and set up a seven-wicket win.
Worcestershire's collapse left Durham needing just 32 runs for victory and although they saw three batsmen dismissed they still got home with more than two days' play left.
Harmison, who by his own admission suffers from home sickness, had a difficult time on the tour of South Africa following some devastating displays against New Zealand and the West Indies earlier in the year.
But he appears to be finding his form in time for England's two Test series against lowly Bangladesh - which starts at Lord's in May before concluding at the Riverside in June - and the selectors will hope Harmison is at his best come the Ashes series against Australia which gets underway in July.
In the First Division, England Test candidate Kevin Pietersen fell for a second-ball nought on debut for Hampshire after he was lbw to Sussex seamer James Kirtley at Hove.
But the visitors still managed to build a first innings lead of 28 after reaching 280 all out.
Sussex then lost first innings centurion Michael Yardy for 13 before former England batsman Ian Ward (58 not out) guided the home side to 101 for two at stumps with Zimbabwean Murray Goodwin unbeaten on 10.
Australia's Ian Harvey made up for lost time with an unbeaten 161 for Yorkshire in their Second Division match against Somerset at Headingley.
After Wednesday's first day wash-out, Harvey's dashing innings featured exactly 100 runs in boundaries courtesy of 25 fours and was the centrepiece of the hosts Yorkshire's 401 for seven.
Elsewhere top-flight champions Warwickshire saw captain Nick Knight make exactly 100 as they finished the day on 288 for seven in reply to Kent's 347 at Canterbury.
Knight looked in good touch before being caught behind by current England keeper Geraint Jones off left-arm spinner Min Patel who also had England hopeful Ian Bell out for 63.
At Lord's, Middlesex were left in dire straits at stumps on 167 for six in reply to Nottinghamshire's commanding 546.
Middlesex and England batsman Andrew Strauss was bowled for four by Ryan Sidebottom.
Earlier Paul Franks, better-known as a pace bowler, scored his first century for two years to make an unbeaten 104. Middlesex still need 230 to avoid the follow-on.
Meanwhile Phillip DeFreitas rolled back the years to take four for 76 for Leicestershire against Northamptonshire in the Second Division.
The pace bowling all-rounder is the only member of the England squad that secured the country's last Ashes Test series against Australia, in 1986-87, still active in first-class cricket although the 39-year-old DeFreitas has said this will be his final season in the County game.
But even his efforts couldn't prevent Northamptonshire piling up 433 for six declared with David Sales leading the way at Northampton with 113.
Australia batsman Martin Love's 50 was one of several half-centuries before Leicestershire's reply reached 69 without loss.