Tries from Charlie Sharples and Billy Meakes proved just enough as Gloucester edged past Connacht 14-7 at Kingsholm.
The home side dominated the first half and looked to be in total control at 14-0 in the Challenge Cup quarter-final, but the roles were reversed after the break as Connacht came back into it.
With their rolling maul, the visitors cut the lead to seven points thanks to a penalty try but they couldn't find a way over in the last 20 minutes to force extra-time.
Gloucester had the better of the opening exchanges, but had to wait until the 20th minute to finally open the scoring.
After a long period of pressure in the Connacht 22, they eventually broke through thanks to a great counter-attack. After Danie Poolman had cleared under pressure, James Hook saw some open space and sprinted through a gap before the ball was fed inside and Sharples sprinted over untouched. Greig Laidlaw added the simple conversion to make it 7-0 to the home side.
Connacht were struggling to get any ball, and Gloucester were over again on the half-hour. After some good work by Matt Kvesic to set the home side up in the Connacht 22, Gloucester went through the phases, constantly producing quick ball.
Having gone right then back left, Hook put in a delicate grubber, and the ball bounced cruelly away from the covering Connacht defence and into the grateful Meakes' hands.
With Laidlaw's conversion, Gloucester led 14-0, and Connacht's evening got worse when they lost Mils Muliaina to injury a couple of minutes later.
Connacht tried to stage a comeback, and looked to have created an overlap late in the half only for the ball to be spilled in midfield by Tom McCartney before it could be spread out wide.
The visitors needed to start the second half quickly, but a powerful rolling maul that looked set to put them on the front foot ended with the ball being turned over, as Gloucester continued to frustrate their opponents.
Still, Connacht were starting to come into the game, and having played the majority of the first half in their own territory, the situation was reversed after the break.
Laidlaw had the chance to stretch Gloucester's lead to three scores with a penalty just after the hour, but after he missed his kick, Connacht grabbed their first try to get right back in it.
Another strong maul this time proved impossible to stop, and while Robbie Henshaw dotted down, referee Mathieu Raynal had already awarded a penalty try for the visitors. Jack Carty converted and the visitors were back to within a score.
Gloucester were fading badly, and all the momentum was with the visitors, but they were running out of time to draw level. And the home side should have sealed the win with a turnover in midfield that saw them with a three on two, only to pass back inside rather than go through the hands to Jonny May on the outside.
That left Connacht three minutes to get back on level terms but despite working their way into the Gloucester 22, they eventually knocked on and saw their semi-final hopes ended.
Instead it will be Gloucester who host the winners of Exeter's clash with Newcastle, although they will need to improve on the second-half performance in this one.
Tries: Sharples, Meakes
Cons: Laidlaw 2
Gloucester: 15 Stevie McColl, 14 Charlie Sharples, 13 Bill Meakes, 12 Billy Twelvetrees (c), 11 Jonny May, 10 James Hook, 9 Greig Laidlaw, 8 Gareth Evans, 7 Matt Kvesic, 6 Sione Kalafamoni, 5 Tom Palmer, 4 Tom Savage, 3 John Afoa, 2 Richard Hibbard, 1 Dan Murphy.
Replacements: 16 Darren Dawiduik, 17 Nick Wood, 18 Sila Puafisi, 19 James Hudson, 20 Ross Moriarty, 21 Dan Robson, 22 Billy Burns, 23 Henry Purdy.
Connacht: 15 Mils Muliaina, 14 Tiernan O'Halloran, 13 Danie Poolman, 12 Robbie Henshaw, 11 Matt Healy, 10 Jack Carty, 9 Kieran Marmion, 8 John Muldoon (c), 7 Eoghan Masterson, 6 Andrew Browne, 5 Aly Muldowney, 4 Quinn Roux, 3 Rodney Ah You, 2 Tom McCartney, 1 Denis Buckley.
Replacements: 16 Shane Delahunt, 17 JP Cooney, 18 Finlay Bealham, 19 George Naoupu, 20 James Connolly, 21 Ian Porter, 22 Craig Ronaldson, 23 Darragh Leader.
Referee: Mathieu Raynal (France)
Assistant referees: Cédric Marchat (France), Thomas Charabas (France)