James Langs straff med fyra sekunders sluten seger efter Ross och James Chisholm korsade för att försöka jämna ut poängen 27-27 efter Richard Hibbards synd-binning.
Gloucester gjorde 17 obesvarade andra hälften poäng, slåss tillbaka från 15-10 ner för att bygga spelets största ledning.
Hibbards gula var emellertid kostsamt.
Ögonblick efter att horan var synd-bined för ett straff på scrum, gick James Chisholm över för att ge Londonborna förnyat hopp om att ta något från spelet mot sina andra topp-sex hoppfulla.
Ett smickrande drag, som gällde Marland Yarde och Alofa Alofa, satte de äldre av Chisholmsbröderna Ross över på 75:e minuten.
Och medan 21-årige fluga-halv Lang var utanför målet med hans omvändelse försök, ett straff på scrum med ögonblick kvar tillät honom ett skott från höger framför för att vinna det.
Det var en spännande avslutning på en match som började med att Charlie Sharples gick över till värdarna, bara för Gloucester att straffas för att inte göra mer av sin starka start, som Tim Visser landade på hans återkomst från Skottland tjänst och Charlie Mulchrone hjälpte kant Quins före pausen.
Billy Burns landade sin tredje kick av spelet för att konvertera David Halaifonua försök att återställa värdarnas ledning efter halvtid, med Sharples greppa sitt andra försök i spelet som Gloucester snabbt byggt en bekväm ledning.
Den enmansfördelen utnyttjades hänsynslöst sent när Quins flyttar till inom två punkter i Northampton i sjätte, medan en förlorande bonuspunkt lämnar Gloucester nionde i bordet och åtta poäng på drift av en europeisk Champions Cup plats.
Gloucester chef för rugby David Humphreys:
"Det är en känsla av frustration, ilska och besvikelse efter de sista sex eller sju minuterna av galenskap.
"Vi ledde med två poäng och var tvungna att få grunderna rätt, men vårt försvar och set-bit gick i bitar efter att vi hade kontrollerat den andra halvan.
"Europeiska kvalifikationer är fortfarande matematiskt möjligt men vi var tvungna att få fyra eller fem poäng idag och vi gjorde inte det så det är ett massivt slag för gruppen, särskilt efter en stor seger över Saracens i vår senaste hemmamatch."
Harlequins chef för rugby John Kingston:
"I slutet av första halvlek ledde vi 15-10, men vi var mycket bättre och borde ha varit längre fram. De hade då en bra period men vi kom tillbaka starkt och förtjänade att vinna.
– Vi visste att vi var tvungna att kontrollera miljön idag eftersom publikens inflytande är mycket viktigt här. Jag trodde att vi lyckades göra det, vilket ledarna i vårt team måste ta stor ära för.
"Vi har hållit vår Europacup hoppas levande som avslutar sjätte eller kanske sjunde kommer att vara tillräckligt för att säkra oss en plats för nästa säsong."
Gloucester: Marshall; Sharples, Scott, Tolvträd, Halaiponua; Burns, Heinz (kap.); Thomas. Hibbard, Afoa, Galarza, Thrush, Ludlow, Rowan, Morgan.
Ersättningar: Matu'u, Hohneck, Doran-Jones, Savage, Kalamafoni, Braley, Hook, Trinder.
Harlequins: R. Chisholm; Yarde, Marchant, Hopper, Visser; Swiel, Mulchrone; Lambert, Gray, Sinckler, Merrick, Matthews, J. Chisholm, Ward (kap.Detta beslut träder i kraft dagen efter det att det har offentliggjorts i Europeiska unionens officiella tidning.
Ersättningar: Buchanan, Owens, Shields, South, Naoupu, Jones, Lang, Alofa.
För de senaste rugby facket nyheter följa @bbcrugbyunion på Twitter.
Harlequins gjorde 15 poäng i de sista åtta minuterna mot 14-man Gloucester för att klämma ihop en dramatisk seger i Kingsholm.