The 32-year-old had joined in pre-season on non-contract terms but has now accepted a short-term offer having impressed during his three appearances in this campaign.
"Matt has been excellent and I think he is just what we need right now," Cobblers boss Aidy Boothroyd told the club's official website.
"He is a terrific character and he showed on Saturday at Bristol Rovers that he is willing to put his body on the line for the team.
"I'm really happy with what he's done for us so far and I'm delighted we've managed to get him tied down on a longer contract."
The experienced Heath has had spells with Leicester, Coventry, Leeds and Colchester during his career.
- Sports & Recreation
- Aidy Boothroyd
- Bristol Rovers