Leicester Tigers reached the European Challenge Cup semi-finals for a second successive season as they finally saw off the threat of Newcastle Falcons.
The twice former European champions needed the help of two penalty tries, one in each half, against indisciplined Newcastle, who finished with 13 men.
But young winger Harry Potter, with two, and Argentine centre Matias Moroni also scored tries for the hosts.
Newcastle's tries came from full-back George Wacokecoke and winger Tom Penny.
The visitors were undone first by the early loss of injured prop Trevor Davison on 12 minutes, followed by four yellow cards issued by French referee Romain Poite.
The first came for skipper Mark Wilson, just three minutes after Davison's departure, followed by a second before half-time for Kyle Cooper, then two more late on - the first for Mark Tampin on 74 minutes, followed a minute later by a second for Cooper, which automatically became a red.
Potter's score and their first penalty try had helped put Tigers 15-3 ahead before Wacokecoke replied to reduce the Falcons' deficit to seven points at the break.
England stand-off George Ford marked his 100th Tigers appearance by coming off the bench to kick a second-half penalty, to add to a first-half conversion and a penalty from Johnny McPhillips.
Ford's penalty stretched Tigers' lead to 10 points, in the wake of Penny's converted try which had brought Falcons back within range at 22-15.
But Tigers went clear again with their second penalty try before their two-man advantage earned a second try for Potter.
Newcastle's other points came from a first-half penalty by Falcons stand-off Brett Connon, who also converted Penny's try.
What next?
Tigers, beaten by Toulon at the semi-final stage in September in the delayed 2019-20 Challenge Cup, join Bath in the last four.
The Challenge Cup semi-final draw will be held on Sunday following Saturday night's other two quarter-finals - Montpellier v Benetton and Northampton v Ulster.
Leicester: Steward; Potter, Moroni, Scott, Murimurivalu; McPhillips, Wigglesworth (capt); De Bruin, Clare, Heyes, Wells, Henderson, Martin, Reffell, Liebenberg
Replacements: T Youngs, Genge, Cole, Lavanini, Wiese, Van Poortvliet, Ford, Kelly
Newcastle: Penny; Wacokecoke, Orlando, Lucock, Stevenson; Connon, Young; Davison, McGuigan, Mulipola, Peterson, Robinson, Welch, Wilson (capt), Chick
Replacements: Blamire, Cooper, Tampin, Farrar, Graham, Schreuder, J Matavesi, Vuna
Referee: Romain Poite (France).