Tuohy bags bonus to keep Ulster flying
Ulster pushed on to seal their 13th consecutive victory of the campaign with a slick try from full-back Jared Payne and Dan Tuohy's last-minute try, which sealed the bonus point.
The Saints have now suffered back-to-back Heineken Cup defeats.
Jim Mallinder's men will somehow have to recover from this heavy beating and win at Ravenhill in the return fixture next weekend to stand any chance of reaching the knockout stages.
"That was a bit of a statement," said Ulster coach Mark Anscombe. "We weren't even thinking about the bonus point. We were more than happy to come here and take the win.
"We are not getting carried away. Northampton have too many quality players and they will bounce back from this performance. We have to go out and do it again next week or this will count for nothing."
Ulster fear their captain and second row Johan Muller may have suffered a broken arm as he defended his line against a late Northampton attack. Northampton captain Dylan Hartley could find himself in hot water with the citing officer after he appeared to strike Ulster hooker Rory Best with a forearm or elbow to the face in an off-the-ball scrap.
Anscombe's men now top Pool 4 by six points from Castres with three wins from three. In contrast, Northampton's European hopes may now rest on the Amlin Challenge Cup.
Saints fly-half Ryan Lamb struggled with the boot all night and he missed an early penalty shot at goal before Ulster took control of the game with an excellent try.
Jackson's clever chip over the top put Foden in trouble and when he made little ground with the clearance, Ulster drove the line-out within five metres of the Northampton line.
Ruan Pienaar swung the ball wide to Jackson, who aimed a perfectly weighted chip towards the corner and Trimble beat Foden to the touchdown.
The Northampton fly-half finally found his range after a good Saints scrum. Jackson hit back to re-establish Ulster's five-point lead after Roger Wilson, the former Saints No 8, had claimed an acrobatic line-out and the hosts were penalised at the maul.
Lamb missed again – his third failure in four kicks – before George Pisi turned Ulster on their heels with a kick in behind which Jackson struggled to deal with under pressure from Foden's chase.
Northampton were penalised at the five-metre scrum and Ulster turned defence into attack with a brilliant kick to into the corner from Payne.
Hartley over-threw the line-out and Ulster punished them. Iain Henderson made two big carries before Pienaar spread play wide right for Bowe to score Ulster's second try on the overlap.
Northampton lacked a cutting edge in attack. George and Ken Pisi had their individual moments but Ulster kept them well contained, although a penalty from Lamb on the stroke of half-time kept the Saints in touch.
Not for long. Darren Cave tore past Calum Clark and then Trimble threw an arrow-like flat pass to Payne, who breezed past Foden to score.
Everywhere Northampton looked for a response they hit the white wall of Ulster defence. Ken Pisi thought he had broken clear but spilled the ball in a tackle and George Pisi was flattened by Cave.
Northampton wing Jamie Elliot was held up over the line by Cave just before Hartley and Best scrapped on the floor, with the England man appearing to twice catch his opposite number in the face.
Lee Dickson added some zip to Northampton's play when he came off the bench but Tom May failed to hold on to his pass under the posts.
Henderson was sin-binned as Ulster kept Northampton at bay and the visitors then applied the ultimate sucker-punch, scoring with turnover ball as Payne sent Tuohy over in the corner.
In the other game in the pool, Glasgow saw their Heineken Cup hopes extinguished as they failed to get the bonus point win they needed as Castres won 9-6.
Northampton – B Foden; K Pisi, G Pisi, D Waldouck (T May 67), J Elliott; R Lamb (S Myler 60), M Roberts (L Dickson 51); S Tonga'uiha (A Waller 63), D Hartley (capt, M Haywood 71), B Mujati (P Doran-Jones 60), S Manoa, C Lawes, C Clark (P Dowson 57), T Wood, G-J Van Velze.
Ulster – J Payne; T Bowe, D Cave, P Wallace (L Marshall 69), A Trimble (C Gilroy 69); P Jackson, R Pienaar; T Court (C Black 69), R Best, J Afoa, J Muller (capt, N Williams 50), D Tuohy, I Henderson, C Henry, R Wilson.
Ref – J Garces (France)