Northampton moved into the top four as they recorded a ninth consecutive victory over Worcester Warriors.
Tries from Rory Hutchinson, Sam Matavesi and Alex Mitchell gave Saints a commanding 19-3 lead at half-time.
Warriors threatened a second-half comeback with two tries in five minutes from the returning Rory Sutherland and Ashley Beck on his 50th appearance.
But James Fish's bonus point try, 10 minutes from time, ensured the visitors left with maximum points.
The victory moves Saints above Gloucester, who play Newcastle Falcons in a game delayed until 19:00 GMT due to stormy weather.
After a scrappy opening, Northampton centre Hutchinson took advantage when a maul broke down to cut back into space and beat a couple of tacklers to open the scoring after 22 minutes, with Dan Biggar adding the extras.
Fin Smith got Worcester on the scoreboard with a penalty three minutes later but then the hosts lost winger Perry Humphreys to a yellow card for a deliberate knock-on as Saints attacked.
Northampton had their second try when a Warriors offside allowed Biggar to send the ball into the corner, leading to Matavesi finishing off a driving maul from the lineout to make it 12-3 after 29 minutes.
It got worse for Worcester two minutes before the break when Mitchell dummied to pass before skipping away from just inside halfway to score and Biggar converted to put the visitors firmly in charge at the break.
Wales captain Biggar's 46th-minute penalty stretched the lead before Warriors eventually crossed the whitewash on the hour when Sutherland crashed over from short-range to make it 22-10.
Worcester reduced the gap further when Wales international Beck burst through a gap with 16 minutes left to take his side within nine points.
But the hosts haven't beaten Saints since November 2017 and any thoughts of a dramatic comeback win were extinguished when Fish powered over from a maul and Biggar converted again.
Worcester: Searle; Humphreys, Venter, Beck, van der Merwe; Smith, Simpson; Sutherland, Annett, Judge, Batley, Kitchener, Hatherell, T Hill (capt), Kvesic.
Replacements: Cutting, E Waller, Tyack, Clegg, Vailanu, Chudley, Williams, Hearle.
Northampton: Tuala; Sleightholme, Dingwall (capt), Hutchinson, Collins; Biggar, Mitchell; A Waller, Matavesi, P Hill, Ribbans, Ratuniyarawa, Wood, Harrison, Augustus.
Replacements: Fish, Iyogun, Carey, Nansen, Coles, James, Grayson, Proctor.
Referee: Ian Tempest (RFU).
Yellow cards: Humphreys (Worcester)