London Irish full-back James O'Connor scored all his team's 22 points as they kept Worcester without a Premiership win this season.
Neither side headed into this encounter in decent form, with the hosts having been narrowly defeated at home to Gloucester a week earlier, and Worcester well beaten by Saracens.
Though the Exiles emerged comfortable winners, in reality this was a tight affair throughout, with try-scoring opportunities difficult to come by in heavy conditions.
Instead, it was the hosts' O'Connor and Worcester's Chris Pennell who would trade efforts on goal for the majority of proceedings.
Pennell's three-pointer on 19 minutes cancelled out O'Connor's five minutes earlier, and each added a second penalty in the closing stages of the first half to ensure it was all square at the interval.
But it was one-way traffic for the majority of the second half as O'Connor's points onslaught continued to take London Irish clear in the contest.
His three penalties in ten minutes just ahead of the hour-mark made it made it 15-6 to the hosts, and just after that the hosts struck a hammer blow.
Shane Geraghty's sublime pass found O'Connor in space and he scored the try, before adding the conversion to make it 22-6 with time ticking away for Worcester.
The best the visitors could muster in the minutes that followed was a third Pennell penalty, and though Worcester pushed for a try in the dying minutes, the Exiles defence held firm to see out the win.
Pens: O'Connor 5
Yellow Card: Hagan
Pens: Pennell 3
Yellow Card: Senatore
London Irish: 15 James O'Connor, 14 Topsy Ojo, 13 Fergus Mulchrone, 12 Eamonn Sheridan, 11 Sailosi Tagicakibau, 10 Shane Geraghty, 9 Tomás O'Leary, 8 Ofisa Treviranus, 7 Blair Cowan, 6 Kieran Low, 5 Nic Rouse, 4 George Skivington, 3 Leo Halavatau, 2 Mike Mayhew, 1 John Yapp.
Replacements: 16 Jimmy Stevens, 17 Matt Parr, 18 Jamie Hagan, 19 Jebb Sinclair, 20 Declan Danaher, 21 Alex Lewington, 22 Ian Humphreys, 23 Ed Hoadley.
Worcester: 15 Chris Pennell (c), 14 James Stephenson, 13 Alex Grove, 12 Ravai Fatiaki 11 Josh Drauniniu, 10 Paul Warwick, 9 Jeremy Su'a, 8 Leonardo Senatore, 7 Sam Betty, 6 Richard de Carpentier, 5 Mariano Galarza, 4 James Percival, 3 Rob O'Donnell, 2 Chris Brooker, 1 Ofa Fainga'anuku.
Replacements: 16 Ed Shervington, 17 George Porter, 18 John Andress, 19 Chris Jones, 20 Semisi Taulava, 21 Jonny Arr, 22 Ignacio Mieres, 23 Josh Matavesi.
Referee: Wayne Barnes
Assistant referees: Roy Maybank, Andrew Pearce
Television match official: Sean Davey