For the third match in a row on Northampton soil, Saints were made to pay for sin-binnings early in the second half as Saracens took full advantage.
Saints were 15-8 up at the break thanks to tries from Fraser Dingwall and Harry Mallinder, but Saracens hit back after the interval.
Lewis Bean and Taqele Naiyaravoro were both yellow carded by referee Matthew Carley and Saracens scored twice to grab the lead.
Ben Earl stretched that advantage with an intercept try before Saracens had disciplinarty problems of their own, losing Matt Gallagher and Alex Lewington to the bin late on.
But Saints couldn't find their way through, failing to add any further tries to their tally.
It means they have lost their past three home matches, having been leading at half-time in all three.
And they have been beaten four times in a row in the Gallagher Premiership, hampering their top-four hopes.
Another blow came in the form of an injury to Wales star Dan Biggar, who had to be helped off the field during the first half after landing awkwardly.
That came after Saints had got off to a morale-boosting start.
Alex Coles grabbed a Richard Wigglesworth kick and gave the ball to Mallinder, who flew forward beore delivering the offload for the onrushing Dingwall to charge in for the score.
Biggar sent the conversion to the left of the posts, but Saints soon scored again as Mallinder flew through a gap and stretched out an arm to ground the ball close to the posts.
Biggar made no mistake this time and there was delight among the home fans after such an eye-catching Saints start.
But Saracens issued a much better response this time as former Saints wing Rotimi Segun found space on the right and beat two attempted last-ditch tackles to score.
Manu Vunipola missed the tricky touchline conversion, but he was soon on the mark with a penalty after a dangerous Saracens move drew a decision from referee Carley.
Saints suffered a huge blow soon after as Biggar had to be helped off the field after going up to gather a high ball and landing badly.
Mallinder took over kicking duties and quickly slotted a penalty after some slick Saints play put real pressure on Saracens.
The away side then suffered an injury blow of their own as captain Jackson Wray was forced off with concussion, looking really unsteady on his feet as he left the field.
Saints then had a great chance to score as DIngwall closed in on the line before JJ Tonks knocked on with the line in sight.
There was plenty of huff and puff until lock Bean was sin-binned four minutes after the break for what the TMO was a swinging arm into the face of Wigglesworth.
Naiyaravoro was soon following Bean off the field for what referee Carley felt was a deliberate knock-on close to his own line, leaving Naiyaravoro stunned.
And Saracens looked to have taken immediate advantage as they rumbled over through prop Titi Lamositele, but the effort was ruled out for a double movement.
It only took seconds for them to get the score they wanted though as another lineout drive resulted in hooker Jack Singleton scoring.
Vunipola converted to level the scores and he was soon adding another two points after Saracens broke and Nick Tompkins glided through to score.
Saints managed to respond, applying some pressure and allowing Mallinder to reduce the deficit with a penalty from in front of the posts.
Bean and Naiyaravoro both returned from the bin to a warm welcome, but Saracens hit Saints with a sucker punch as England back row forward Earl pouched an intercept try.
Vunipola missed the conversion but Saracens were 27-18 up and had the bit between their teeth.
However, Saints responded again and Saracens were down to 14 men when replacement back Gallagher was sin-binned for a deliberate knock-on.
Saints tried to pile the pressure on but they knocked on to end the move as frustration remained the overriding feeling at Franklin's Gardens.
Mallinder did notch three points with eight minutes to go, and Lewington was then sin-binned for a deliberate knock-on.
But two Reece Marshall lineouts went astray and Ben Franks then knocked on in his own half before Saracens won a penalty at the scrum to see the game out.
Saints: Mallinder; Tuala (Symons 59), Dingwall, Hutchinson, Naiyaravoro; Biggar (Proctor 20), Reinach (Taylor 61); van Wyk (B Franks 59), Fish (Marshall 66), Hill (O Franks 59); Coles, Bean (Glynn 67); Wood, Tonks (Eadie 56), Harrison (c).
Saracens: Goode (Gallagher 28); Segun, Taylor (Morris 27), Tompkins, Lewington; M Vunipola, Wigglesworth; Barrington (Carre 48), Singleton, Lamositele (Koch 48); Skelton, Hunter-Hill (Kpoku 75); Isiekwe, Earl, Wray (c) (Clark 27 (Woolstencroft 55)).
Referee: Matthew Carley