Barry Everitt was the man who kept the home side ticking over with 12 first-half points but there was not even a hint of a try from the team who have scored fewer Zurich Premiership touchdowns this season (23) than anyone else.
Gloucester's Marcel Garvey did go over in the 20th minute as Gloucester, having lost possession in an earlier attacking 22-metre lineout, were given a second chance when London Irish were equally careless in the midfield.
Garvey pounced on an easy take and blasted his way through the midfield and despite full-back Delon Armitage's best efforts to drag him down, the Gloucester wing crossed.
Referee Ashley Rowden consulted the television official for confirmation before awarding the score and Brad Davies added the conversion to give the Cherry and Whites a 10-9 lead.
Everitt put the Exiles ahead at the break with his fourth penalty but the lead changed hands again after the restart when Davies' kick made it 13-12.
Gloucester then lost influential flanker Andy Hazell when the forward appeared to be knocked out following a heavy clash with Scott Staniforth.
Hazell was stretchered off the field, leaving London Irish with the opportunity to go five points clear with two penalties.
However, Everitt had run out of luck with the boot and missed both to give Gloucester victory and leave Irish in 10th, just above relegation candidates Worcester and Leeds.
For London Irish:Pens: Everitt 4
For Gloucester:Try: GarveyCon: DaviesPens: Davies 2