Two tries from lock George Skivington gave London Irish a crucial 18-12 victory over Gloucester at Kingsholm in the Aviva Premiership.
Irish had already lost three times to their hosts in domestic and European competitions this season, but two first-half tries from lock George Skivington helped the Exiles exact revenge.
Centre Steven Shingler added a penalty and conversion, while England international Freddie Burns booted four Gloucester penalties, yet Irish deserved a first Premiership away victory this season at the seventh attempt, which was sealed by full-back Tom Homer's late penalty.
It took them five points above bottom club Sale Sharks, who tackle Saracens on Sunday, and sent them into a five-week league break with renewed optimism of avoiding the drop.
In contrast, a losing bonus point was scant consolation for Gloucester after a four-month unbeaten home record disappeared.
They were architects of their own downfall in many ways, taking wrong options, lacking the patience to break Irish down and losing composure when clear attacking opportunities presented themselves.
While the west country club remain firmly in the play-off picture, they could have few complaints about a defeat that underlined the Premiership's tight, intense nature this term.
Burns booted Gloucester into a second-minute lead, yet Irish were not daunted by the size of their task, and after Shingler landed an equalising penalty they deservedly went ahead.
Gloucester were guilty of trying to run before they could walk, throwing out ambitious passes that were invariably spilled, with Burns guilty inside his own 22 by lobbing an ill-conceived ball to wing Charlie Sharples that Irish almost capitalised upon.
The visitors' opening try, though, arrived after 23 minutes when a spell of concerted pressure near Gloucester's line resulted in Skivington powering over. It was Irish's first touchdown for almost five hours of Premiership rugby.
Shingler missed the conversion, but Irish continued to grow in confidence and they capitalised on another Gloucester blunder after Burns had kicked his second penalty.
Gloucester wing Shane Monahan was the guilty party, making a hash of trying to gather the ball just inside the home 22, and Irish scrum-half Pat Phibbs scrambled possession to Skivington, who touched down unopposed.
Shingler landed the conversion, and Gloucester could have few complaints about a 15-6 interval deficit as Irish threatened a first Premiership away win since they triumphed at Worcester last April.
The only blot on Irish's landscape was an injury to England squad hooker David Paice, who limped off on the stroke of half-time and was replaced by former Gloucester forward Scott Lawson.
Gloucester boss Nigel Davies made a triple substitution just 10 minutes into the second period, taking off Murphy, scrum-half Jimmy Cowan and flanker Akapusi Qera, but there was no immediate sign of his team showing an improvement.
Irish were content to keep their defensive shape and absorb Gloucester's heavy-duty runners, although Burns gave the home side hope when he completed his penalty hat-trick after 58 minutes and then slotted a fourth penalty three minutes later.
Shingler, having missed four of his six shots at goal, was replaced by Homer, and his 73rd-minute penalty from 40 metres meant Gloucester were sunk.
And they finished the game with 14 players when lock Will James was sin-binned by referee David Rose following a melee that spilled over the touchline in front of the main grandstand.
Pens: Burns 4
Yellow Card: James
For London Irish:
Try: Skivington 2
Pen: Shingler, Homer
Gloucester: 15 Rob Cook, 14 Charlie Sharples, 13 Mike Tindall (c), 12 Billy Twelvetrees, 11 Shane Monahan, 10 Freddie Burns, 9 Jimmy Cowan, 8 Ben Morgan, 7 Akapusi Qera, 6 Sione Kalamafoni, 5 Will James, 4 Tom Savage, 3 Shaun Knight, 2 Huia Edmonds, 1 Dan Murphy.
Replacements: 16 Darren Dawidiuk, 17 Nick Wood, 18 Dario Chistolini, 19 Peter Buxton, 20 Matt Cox, 21 Dan Robson, 22 Tim Molenaar, 23 Martyn Thomas.
London Irish: 15 Tom Homer, 14 Jonathan Joseph, 13 Sailosi Tagicakibau, 12 Steve Shingler, 11 Marland Yarde, 10 Ian Humphreys, 9 Pat Phibbs, 8 Chris Hala'ufia, 7 Jebb Sinclair, 6 Matt Garvey, 5 Bryn Evans, 4 George Skivington, 3 Halani Aulika, 2 David Paice, 1 Max Lahiff.
Replacements: 16 Scott Lawson, 17 Jerry Yanuyanutawa, 18 Leo Halavatau, 19 Kieran Low, 20 Jamie Gibson, 21 Guy Armitage, 22 Shane Geraghty, 23 Darren Allinson.