Gloucester kept up their hopes of an Aviva Premiership play-off spot with a bonus-point 37-9 victory over Harlequins in a disjointed game at Kingsholm.
The hosts dominated throughout but left it late to make sure of the victory, which moved them up to sixth in the table, three points off the fourth spot with two matches remaining.
Next up for them is a local derby at home to Bath before they finish their campaign with a tough trip to second-placed Saracens. For Quins it was a seventh defeat in the last eight games as their miserable run continued.
Callum Braley, Jason Woodward, Jake Polledri and Ruan Ackermann scored tries for Gloucester - the final three in the final 10 minutes - with Billy Twelvetrees adding three penalties and four conversions. Marcus Smith kicked three penalties for the visitors.
Twelvetrees and Smith exchanged early penalties before the hosts opened the try-scoring.
A well-timed pass from Mark Atkinson on halfway sent Twelvetrees through a huge gap before Braley was on hand to race in under the posts.
Twelvetrees converted before Quins' bad start continued when number eight Jack Clifford was helped off with a leg injury. It was rough luck on Clifford as he had only recently returned following a five month lay-off with a shoulder problem.
Smith kicked a second penalty before the visitors suffered another injury blow when Joe Marler left the field for 10 minutes for a head assessment.
Marler returned but Gloucester continued to dominate, although basic errors prevented them from capitalising and further penalties from Twelvetrees and Smith were the only scores of the second quarter.
Gloucester therefore held a deserved 13-9 lead at the interval before the second half began in exciting fashion with both full-backs making 50-metre runs.
First Woodward evaded a number of defenders on his elusive run before Gloucester then surrendered possession at a ruck for Mike Brown to seize his chance and set off for the opposition line only for Billy Burns to haul him down.
Twelvetrees kicked a third penalty before Brown hobbled off for the Quins with James Lang coming on as a replacement and forcing Smith to switch to full-back.
Smith then missed a straightforward penalty as the chaotic nature of the game continued with both sides conceding regular turnovers before Gloucester made the game safe with nine minutes remaining.
Harlequins replacement, Gabriel Ibitoye knocked on an up and under for Gloucester to counter-attack with a long pass from Atkinson creating space for Henry Trinder to fly down the left flank and send Woodward over.
Minutes later, Polledri cruised through a tired defence for a third try before Ackermann crashed over from a driving over line-out to collect a vital bonus point.