Rees-Zammit threatened to set up a stunning late fightback, but Northampton held their nerve and Piers Francis' late penalty put the seal on the home success at Franklin's Gardens.
Biggar went off injured at the break but his side took control as man of the match Cobus Reinach registered a double.
Gloucester refused to go quietly and two more tries from Rees-Zammit as well as one from Chris Harris kept them alive.
However, Northampton saw the game out late on to ensure their unbeaten Premiership home record remained intact.
Gloucester had been first to strike as Mark Atkinson, who scored a hat-trick at the same ground back in April, put in a grubber kick and wing Rees-Zammit scored.
Danny Cipriani converted to make it 7-0 and the fly-half then made a try-saving tackle on Taqele Naiyaravoro.
Gloucester lost winger Charlie Sharples to injury and they conceded their first points when Northampton won a penalty, which Biggar kicked.
The Saints were marching forward relentlessly, putting immense pressure on Gloucester, who were starting to concede an alarming amount of penalties.
And eventually their resistance was broken as Haywood scored from a dominant lineout drive, allowing Biggar to make it 10-7 with the successful conversion. He also added a penalty before the break.
Northampton struck early in the second half, scrum-half Reinach skipping through to score under the posts.
Francis added the conversion and Northampton looked to have scored again through Reinach, but his effort was ruled out for a marginal Tom Collins offside in the build-up.
The game swung as centre Harris scored at the other end, with Cipriani converting, but Northampton responded immediately with a fantastic Reinach breakaway try.
But Gloucester replied again through Rees-Zammit, with Cipriani's conversion cutting the gap to six points with 25 minutes to go.
The away side soon lost a man though as Josh Hohneck was sin-binned for swinging an arm into the neck of Andy Symons, and Francis soon kicked a penalty to make it 30-21.
Gloucester still had hope, only for Courtney Lawes and equally impressive George Furbank to make try-saving tackles that prevented the try bonus point.
But Gloucester had their fourth score when Rees-Zammit dived over for his hat-trick.
Cipriani's conversion went wide, leaving the gap at four points with four minutes to go, and Francis kicked a penalty to make sure of the Saints win.