Harlequins beat a lacklustre Gloucester to book a top eight Premiership finish and a European Champions Cup spot.
A 1,000-strong crowd at Kingsholm were unable to lift the Cherry and Whites as they failed to take several chances.
Cadan Murley and captain Stephan Lewies crossed for first-half tries as Quins built a 21-3 lead before the break.
Gloucester did reply through Jake Polledri but a Scott Steele try on the counter proved decisive despite Matias Alemanno adding a second for the hosts.
The second crowd pilot match in England following Quins' game against Bath at the Twickenham Stoop earlier this month provided a chance for a select group of Gloucester fans to return to Kingsholm.
But despite a familiar roar from the stands to greet the teams before kick-off, the hosts made an ill-disciplined and sluggish start.
Marcus Smith kicked three penalties in the opening 10 minutes before Murley outstripped Gloucester scrum-half Stephen Varney for Quins' first try.
Ollie Thorley dropped the ball when set clear by Louis Rees-Zammit in reply and then Danny Cipriani threw a forward pass to Jonny May when the England winger would have had a simple walk-in score.
It got worse for Gloucester when Varney had a pass intercepted on halfway by Lewies, who stretched his legs to win the foot race for the line.
The hosts did up the tempo at the restart when Italy back row Polledri fended off opposite number Alex Dombrandt to score but Harlequins were able to punish them again when they failed to be clinical in their 22.
Joe Marchant intercepted a Cipriani pass on the hour and despite being hauled down five metres out by Rees-Zammit, he had the awareness to pop the ball up for Steele's support run and a finish under the posts.
Argentina lock Alemanno went over on his Gloucester debut to reduce the deficit but Ed Slater then had a try disallowed as Steele managed to dislodge the ball from his hands inches before the line.
Quins are sixth, four points clear of Northampton, while Gloucester will need two more points from their last two games to guarantee eighth place.
Gloucester head coach George Skivington told BBC Radio Gloucestershire:
"It was definitely our worst performance since I've arrived at the club.
"We set ourselves up so many times to score points, but we just failed at the last hurdle with the execution.
"A lot of the things that have been good for us in the last few games weren't tonight.
"We effectively put all the pressure on ourselves. Quins played a very simple, disciplined game and stuck to it and kept giving us the ball back effectively.
"But we kept giving it back to them, but in better positions and they took control of the game."
Harlequins head of rugby Paul Gustard:
"I felt we had absolute clarity about what we wanted to achieve tonight.
"We got off to a great start, our kicking game was excellent and our kick-chase game was excellent.
"A lot of people played well, and I thought (centre) Joe Marchant was incredible.
"His energy in defence was exceptional. For me, he's the best defensive 13 in the league, and that's (without) talking about his attacking skill-set."
Gloucester: Rees-Zammit; Thorley, Harris, Atkinson, May; Cipriani, Varney; Rapava-Ruskin, Marais, Stanley, Slater, Garvey, Clement, Ludlow (capt), Polledri.
Replacements: Walker, Fourie, Balmain, Alemanno, Reid, Simpson, Evans, Twelvetrees.
Harlequins: Brown; Murley, Marchant, Northmore, Morris; Smith, Care; Garcia Botta, Gray, Collier, Lewies (capt), Cavubati, Chisholm, Evans, Dombrandt.
Replacements: Baldwin, Louw, Thomas, White, Young, Steele, Esterhuizen, Ashton.
Sin-bin: Gray (22 mins).
Referee: Karl Dickson (RFU).