Danny Care scored a hat-trick as Harlequins producing a brilliant second-half fightback to beat London Irish 38-30 in the quarter-finals of the European Challenge Cup after Newport Gwent Dragons claimed a dramatic win at holders Gloucester.
Quins looked set to miss out on a place in the semi-finals when they trailed the Premiership's bottom side 30-18 in the second half at The Stoop on Saturday, but Conor O'Shea's men came roaring back to set up a home last-four encounter with Grenoble.
Luke Wallace and captain Care went over in the first half and Ben Botica booted eight points to give Quins an 18-16 advantage at the break, with Fergus Mulchrone dotting down for the visitors.
But Brendan McKibbin went over to put the relegation-threatened Exiles in front and Sean Maitland stretched their advantage despite the loss of David Paice to the sin-bin for a tip-tackle on Chris Robshaw.
Quins were not finished yet, though, and the lively Care doubled his tally before Luke Wallace went over to cut the gap to two points, then Botica booked another penalty before Care completed his hat-trick and heap more misery on relegation-threatened Irish.
There will be no back-to-back Challenge Cup triumphs for Gloucester after they were stunned by Pro12 strugglers Newport, who edged a thriller 23-21 at Kingsholm.
Gloucester looked set for a semi-final trip to Montpellier when they led with four minutes remaining, but scrum-half Chad Davies snatched it for the Dragons with a late try to ensure they will make the journey to France.
Greig Laidlaw kicked 11 points for the Premiership side, with Ben Morgan and Steve McColl scoring tries in a losing cause as Davies came up with the decisive score to add to 15 points from the boot of Dorian Jones and a Carl Meyer penalty.
There was also a thriller at Stade des Alpes, where Jonathan Wisniewski kicked a late drop-goal to take his tally to 23 points and seal a tense 33-32 victory for Grenoble over Connacht.