Tries from Harry Thacker and Vereniki Goneva put the Tigers 17-13 up at the break, with Teimana Harrison replying.
Freddie Burns kicked penalties either side of George Pisi’s score but a penalty from Stephen Myler brought the hosts back to within two points.
Burns then converted his own try to put Leicester 30-21 up before JJ Hanrahan’s late penalty set up a tense finale.
Leicester remain fourth in the table but are now seven points ahead of fifth-placed Saints with two games of the regular campaign remaining.
It means Richard Cockerill’s side, who face Racing 92 in next Sunday’s European Champions Cup semi-final, are on the brink of reaching the play-offs for the 12th successive season.
Burns was faultless kicking from the tee, ending with a haul of 20 points after his second-half try put Leicester in control.
The Tigers defence had to withstand late pressure as Northampton attacked in search of a late try, but Leicester held on to record just their second away win since mid-December.
|Northampton (13) 24|
|Tries: Harrison, G. Pisi Con: Myler Pens: Myler 3, Hanrahan|
|Leicester (17) 30|
|Tries: Thacker, Goneva, Burns Cons: Burns 3 Pens: Burns 3|
Northampton: Tuala; K Pisi, G Pisi, Burrell, Elliott; Myler, Kessell; Waller, Haywood, Brookes; Craig, Day; Lawes, Wood (capt), Harrison
Replacements: Marshall, Ma’afu, Hill, Matfield, Nutley, Hanrahan, Mallinder, Collins
Leicester: Tait (capt); Veainu, Betham, Tuilagi, Goneva; Burns, Youngs; Ayerza, Thacker, Cole; Barrow, Kitchener; Fitzgerald, McCaffrey, Fonua.
Replacements: Bateman, Mulipola, Balmain, Slater, Croft, Harrison, Williams, Thompstone