Chasing 185 to win after 14 wickets fell before tea, the visitors were bowled out for 164, Worcestershire captain Joe Leach taking 5-62.
Earlier, Northants were bowled out in their first innings for 157.
They then skittled the hosts for 153 with Nathan Buck claiming four wickets, but the target was just out of reach.
Leach, who took over from Daryl Mitchell as skipper this season, finished with match figures of 10-122 as all 40 wickets were taken by fast bowlers and 24 fell on day two.
Worcestershire were indebted to a last-wicket stand of 45 between Ed Barnard (26 not out) and teenager Josh Tongue (15) to make sure they set a tough chase for Northants.
The first innings 50 made by England all-rounder Moeen Ali, who went for a duck in the second innings, was the only half-century in the match.
It was also the first time, in eight attempts, since Moeen first became an England regular in 2015, that Worcestershire have won a Championship game with him in the side.
Worcestershire have now won their opening two County Championship matches, while Northants' run of five straight wins stretching back to last season comes to an end.
Worcestershire captain Joe Leach told BBC Hereford & Worcester:
"It's hard to describe. All the way through the game the pitch has done quite a bit for the bowlers. So wickets falling frequently was inevitable.
"We felt that in setting them 180 we had a better than even chance. Thankfully that's come to fruition,
"It's hard to be disappointed with the batting. Northants bowled well again. The bowling has been high quality all through and it's harsh to put too much blame on the batsmen.
"Daryl Mitchell and Moeen Ali played fantastically on the first morning to give us a foundation in that first innings."
Northants head coach David Ripley told BBC Radio Northampton:
"We are disappointed because we had three opportunities to get ourselves ahead of the game.
"At 50-1 on day one, we should have gone on from that position. Then their last wicket putting 45, That was a lot in the context of the game. Otherwise we would have been chasing 140-odd.
"Then, at 122-5, we believed again that there was an opportunity to go on and win.
"We had chances to put a good bit of daylight between us. But I can't fault our effort. It was a difficult pitch to bat on."
Worcestershire pulled off a remarkable 20-run victory over Northants inside two days, in a match completely dominated by the bowlers at New Road.