Gloucester knocked holders Ospreys out of the EDF Energy Cup in the first semi-final at Coventry's Ricoh Arena.
Ryan Lamb kicked three penalties and a drop-goal to put the English side 12-0 ahead against the run of play.
But the victory was not secured until Iain Balshaw's 76th-minute try - a score which summed up the match.
Ospreys scrum-half Mike Phillips dithered inside Gloucester's 22, Balshaw intercepted his pass and ran unopposed to the line.
The Ospreys offered the greatest threats in the opening period, with Sonny Parker, Shane Williams, Tommy Bowe and Gavin Henson playing starring roles.
But the first half threw up far more injuries than points as Mike Tindall (knee), Henson (ankle) and Ian Gough were injured, leaving both sides short of highly influential performers.
Morgan hails 'fantastic' Gloucester
Lamb opened the scoring after Adam Jones and Henson were judged to have blocked Olly Morgan after the Gloucester full-back kicked ahead.
But that second-minute score was the only moment to trouble the scoreboard operators in the first half.
Ospreys fly-half James Hook missed penalties in the eighth and 20th minutes and wing Williams set up the Welsh side's best chance with a delightful run only for a lack of support to hamper their efforts.
Flanker Marty Holah earned the Gloucester fans' ire after tripping Lamb. Had the incident been seen by any officials, ex-All Black Holah may well have been sin-binned.
But with the Lions squad to tour South Africa to be named on 21 April, head coach Ian McGeechan had some worrying news.
Tindall was injured in a tackle by Sonny Parker, wincing as the Welsh international dragged the Gloucester captain down and the centre was replaced by Matthew Watkins.
Gough also departed in worrying circumstances and Henson simply pulled up with a scream before he was helped off.
Ospreys coach bemoans lack of cutting edge
Henson was troubled by an Achilles problem during the Six Nations, forcing him to miss Wales' three opening games, and he returned to the Ospreys dressing room on crutches and was replaced by Jonathan Spratt.
The Ospreys continued to dominate possession and territory after the break, but Lamb doubled Gloucester's lead after 45 minutes when Tom Smith was caught offside.
Ryan Jones and his team-mates continued to be frustrated by their own failings. They called for a scrum five from a penalty instead of going for the posts, but could not capitalise as Gloucester's defence held firm.
Then Bowe could not take Williams' pass after the wing opened up the Gloucester defence.
Holah broke through only for the Ospreys to be penalised at an attacking ruck three metres from the try-line and then had to endure watching Lamb line up the posts from long range on a rare Gloucester visit to the opponents' half.
Gloucester coach salutes defence
That effort failed, but after 67 minutes Lamb clinically dropped a goal to put his side two scores clear.
Five minutes later Lamb sent over his third penalty after Paul James was penalised at a scrum and as the Ospreys launched a desperate attempt to strike back, Phillips fluffed his lines and Balshaw did the rest.
Gloucester: Morgan; Balshaw, Tindall, Allen, Simpson-Daniel; Lamb, R Lawson; Dickinson, Azam, Somerville, James, Brown, Strokosch, Hazell, Delve. Replacements: Watkins for Tindall (29), Barkley for Simpson-Daniel (41), Nieto for Dickinson (41), Bortolami for Brown (5), Qera for Hazell (52). Not Used: S Lawson, Cooper.
Ospreys: Henson, Bowe, Parker, A Bishop, Williams, Hook, Nutbrown, James, Hibbard, A Jones, Gough, Lloyd, Smith, Holah, R Jones (capt). Replacements: Spratt for Henson (38), Biggar for Bishop (69), M. Phillips for Nutbrown (53), Bennett for Hibbard (58), Jones for Gough (26), Tiatia for Lloyd (62). Not Used: Griffiths.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.