Leicester earned only a second win in seven matches since the Premiership resumed as they overcame lacklustre rivals Northampton at Welford Road.
Ben Youngs marked his 250th club appearance with an early try and three Zach Henry penalties made it 16-3.
Saints managed a penalty try but Freddie Steward's 50m penalty and Henry's fourth kick extended the lead before Paul Hill's superbly-taken try.
But a drop-goal and penalty from Henry confirmed Saints' fifth straight loss.
They did earn a bonus point thanks to Henry Taylor's try with the last move of the match, but in truth the final scoreline flattered the visitors.
This was a sixth defeat in seven matches since the resumption of league action last month, and will hardly inspire confidence Chris Boyd's side can upset Exeter when they travel to Devon for next Sunday's Heineken Champions Cup quarter-final.
They remain in seventh place, while Leicester briefly leapfrogged Worcester before the Warriors' win at London Irish kept the Tigers in 11th, two points behind the Exiles.
Dan Biggar's early penalty put Northampton ahead but when full-back George Furbank dropped the ball on a counter from deep, Youngs snaffled it and scooted under the sticks for an easy score.
It proved to be the Tigers' only try, but they had the greater edge up front and the boot of Henry - standing in for the injured George Ford - kept Saints at arm's length despite the hosts incurring three yellow cards.
When Harry Wells joined Tomas Lavanini in the bin for pulling down a maul which saw the visitors awarded a penalty try, Leicester were down to 13 men for a period before the interval.
But Northampton could not exact any further punishment and Steward's long-ranger and Henry's touchline penalty on the resumption made it 22-10 before Hanno Liebenberg became the third Tiger to see yellow.
Replacement prop Hill provided the individual highlight of the match by bursting through a gap and swerving past Ben Youngs before sprinting over for his first ever Saints try.
But that was as good as it got for the visitors as the Tigers - who have a European Challenge Cup quarter-final against Castres next Sunday - reasserted themselves.
Post-match reaction
Leicester director of rugby Geordan Murphy: "It was a really pleasing start to the game and then we had to ride out a very tough period before half-time.
"To go down to 13 and concede a penalty try was disappointing, and we will have to assess our discipline, but we went back to work really well and showed some steely determination.
"Zach (Henry) has improved in every game. He wasn't pencilled in to start but George Ford had a lower leg problem so we rested him as a precaution but Zach was excellent."
Northampton director of rugby Chris Boyd: "That was our worst performance in two years. To come here in a derby, I could have stomached losing with a good effort but our performance was massively disappointing and flat.
"We have been concentrating on playing a game with width and pre-Covid it was working for us but since the restart, we've got increasingly worse at trying to play it.
"Until our confidence comes back we may need to modify the way we play and consider a different selection. We may be asking too much of ourselves and if we carry on like this it will be a pitiful end to the season."
Leicester: Steward; Murimurivalu, Porter, Scott, Nadolo; Henry, B Youngs; Gigena, T Youngs (c), Cole, Lavanini, Green, Wells, Wallace, Liebenberg
Replacements: Clare, Genge, Leatigaga, Smith, Taufua, White, McPhillips, Potter
Sin-bin: Lavanini (27), Wells (29), Liebenberg (56)
Northampton: Furbank; Tuala, Proctor, Hutchinson, Naiyaravoro; Biggar, Mitchell; van Wyk, Fish, Franks, Ribbans, Ratuniyarawa, Lawes, Ludlam, Harrison (c)
Replacements: Haywood, Iyogun, Hill, Moon, Isiekwe, Tonks, Taylor, Dingwall
Sin-bin: Ribbans (66)
Referee: Wayne Barnes