Jamie Elliott scored a hat-trick of tries as Northampton climbed into the Premiership play-off places with a bonus-point win over London Irish.
Three Tom Homer penalties helped the Exiles into a 9-7 lead just before the interval, Elliott replying for Saints.
But Northampton never looked back after Samu Manoa and Soane Tonga'uiha crossed either side of half-time.
Gerrit-Jan van Velze extended the lead before Elliott completed his hat-trick either side of Guy Armitage's effort.
Fly-half Stephen Myler converted four of Northampton's tries and Ryan Lamb another as Saints climbed up to fourth in the table, while Irish remain third from bottom, five points above basement side Sale.
Northampton were boosted by the return of England duo Dylan Hartley and Courtney Lawes to their pack, and it was the Saints' forwards who took control after the interval as the hosts scored three times in 15 minutes.
But the Exiles' backs had been a constant threat in the first half, although they were unable to turn their early pressure into points.
Jon Fisher and Pat Phibbs were both held up on the line, with Homer's opening penalty providing some consolation.
Northampton hit back immediately when Myler's long pass sent Elliott racing in at the corner, Myler adding the conversion from the touchline.
Irish retook the lead through two Homer penalties just before the break, but they went into the interval trailing 14-9 as flanker Manoa wriggled over in the dying seconds of the half.
Then, after George Pisi knocked on with the try line at his mercy straight after the restart, Tonga'uiha made amends when he crashed over following a five-metre line-out.
Another move by the Saints forwards ended with van Velze touching down, with Elliott racing down the left to dive over in the corner for his second try soon afterwards.
Armitage grabbed a consolation for the Exiles with six minutes left, but Elliott had the final word when he pounced on Lamb's crossfield chip to complete his treble.
VIEWS FROM THE DRESSING ROOM
Northampton director of rugby Jim Mallinder:
"It was an essential win to get us back into the top four. We have had a few ups and downs, but we will get all the England lads back for the next game and we are in a decent position.
"We are a good side and with everybody fit we are quite hard to beat. It is quite an unusual position for us, in the past few years we have been fighting on two or three fronts.
"Today we got the balance right with how we played. The forwards were good, but we were also good behind them and made some good decisions."
London Irish director of rugby Brian Smith:
"They ran riot in the second half. We had a couple of scoring chances in the first half and we really needed to take them, we had to score at least twice from our trips to their 22 in the first half and we didn't do that.
"The second half is one we would rather forget. We turned the ball over 23 times today and we don't turn the ball over 23 times in a season.
"They had more than a points win up front and we didn't play all that well behind it either. When those two planets align like that it can get a bit messy on the scoreboard.
"You are always smarting after a defeat and after a defeat like that especially so."
Northampton Saints: Foden; Wilson, Pisi, May, Elliott; Myler, Dickson; Tonga'uiha, Hartley (capt), Mercey, Lawes, Day, Manoa, Dowson, Van Velze.
Replacements: Waldouck for May (53), Lamb for Myler (63), Roberts for Dickson (63), A. Waller for Tonga'uiha (58), McMillian for Hartley (67), Mujati for Mercey (50), Sorenson for Manoa (58), Nutley for Dowson (50).
London Irish: Homer; Ojo, Armitage, Geraghty, Yarde; Humphreys, Phibbs; Lahiff, Lawson, Aulika, Skivington, Evans (capt), Garvey, Treviranus, Fisher.
Replacements: Sa for Geraghty (71), Moates for Phibbs (58), Yanuyanutawa for Lahiff (73), Paice for Lawson (50), Halavatau for Aulika (73), Low for Skivington (73), Sinclair for Garvey (50), Gibson for Fisher (73).
Referee: JP Doyle (RFU).