The 32-year-old initially joined on non-contract terms in pre-season, but has now signed a new deal after impressing in the early stages of the season.
"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."
Heath began his professional career at Leicester City.