Ulster full-back Mike Lowry scored two tries to leave Northampton’s Heineken Champions Cup hopes dangling by a thread as the province ran out 24-20 winners at Franklin’s Gardens.
It was a sixth consecutive defeat in the competition for Northampton and a sixth win in a row for Irish sides at the venue.
With this defeat, Saints have just two points from their three European fixtures and with only an away game at Racing 92 to come, they have a mountain to climb.
Ulster’s bonus-point win secured their qualification for the next round, with Robert Baloucoune and Nathan Doak also on the try-scoring sheet. Doak also added two conversions.
Dan Biggar and Rory Hutchinson scored Northampton’s tries. Biggar kicked two penalties and a conversion, with George Furbank also adding a two-pointer.
Courtney Lawes led out Northampton on his 250th appearance for the club, but his side soon fell behind.
In the seventh minute, following a sustained period of pressure, powerful wing Baloucoune escaped the clutches of Furbank and Tom Collins to force his way over.
Worse was to follow for Saints when, seven minutes later, they conceded a second try.
They lost possession in their own half for Lowry to pick up and feed Baloucoune. The wing made 25 metres before his well-timed pass provided Doak with an easy run-in.
The home side needed a response and they got one when lock Brandon Nansen burst through a tackle from Marty Moore to start a flowing move which ended with Ulster conceding a penalty. Biggar duly split the posts.
Saints improved as the game progressed to reduce the arrears with an excellent try.
From inside his own half, Biggar sent out a long pass to Hutchinson, who took advantage of some poor Irish tackling to send Collins away. The wing made ground before sending Biggar over.
A minute before the interval, the visitors scored a crucial try.
Billy Burns chipped over the top for Lowry to seize the loose ball and score. The TMO was called into action to consider a suspicion of an earlier knock-on, but the try was awarded, which Doak converted for a 19-10 interval lead.
After the restart Biggar kicked a penalty, but Saints’ hopes dwindled when scrum-half Alex Mitchell was sin-binned for a deliberate offside after Lowry had threatened the home line with an explosive burst.
Biggar’s penalty was the only score of an evenly-contested third quarter, but it felt that Ulster had an extra gear and so it proved when Baloucoune’s pass sent Ethan Mcllroy away, with the wing’s inside pass giving man of the match Lowry a deserved second.
Mitchell returned from the sin bin, but Saints withdrew both Lawes and Biggar before Hutchinson scored an excellent solo effort with two minutes remaining to secure a valuable bonus point.