London Irish boosted their hopes of surviving relegation as they maintained Worcester's winless run on the road.
Tries from Matt Garvey and Halani Aulika, and two Tom Homer penalties, put the hosts 16-6 up at half-time.
Worcester, who have now lost all nine Premiership away games this season, managed just two Andy Goode penalties.
Chris Hala'ufia's try extended the lead after the break, while Homer added the conversion and a third penalty to take his personal tally to 11 points.
It was the sixth home victory of the season for the hosts, who now have a 10-point cushion over bottom side London Welsh, beaten
After a quiet opening, Irish took the lead when Garvey drove over from a line-out on the opposition 22.
Homer missed the conversion and was again off target when Aulika scored the home side's second try from close range.
Goode's penalty put Worcester on the board for the first time, but Homer responded with two kicks to stretch the lead to 16-3.
Worcester closed the gap to 10 points at the break with Goode's second penalty, only to concede another score three minutes after the break when another line-out drive led to Hala'ufia powering over, with Homer adding the extras.
Ian Humphreys came close to scoring a fourth try for the Exiles, before Homer's third penalty stretched their advantage to 20 points with half an hour remaining.
The game fizzled out from that point and although Worcester dominated the last half hour in terms of territory and possession, they lacked the creativity to break down a stubborn Irish defence.
VIEW FROM THE DRESSING ROOM
London Irish director of rugby Brian Smith:
"I'm delighted with the performance. For our forwards, it was their best of the season, especially after being routed up at Northampton.
"We've got four games remaining now and we've not been looking over our shoulder all season.
"We are a real handful at home and, if we can win those last four games, there's no reason why we can't finish as high as eighth."
Worcester director of rugby Richard Hill:
"At home we're a completely different side. We're working hard to find a solution to the problem with our away form. I'm sorry for our supporters but we've tried almost everything and are finding it a difficult problem to crack.
"On a cold and wet day like this you need your forwards to take control. They didn't and we had no answers to their driving maul, with their half-backs kicking far more accurately than ours.
"We had numerous opportunities five metres from their try-line but failed to take any of them. They had probably fewer chances than us but were clinical in taking them."
London Irish: Homer; Ojo, Armitage, Geraghty, Yarde; Humphreys, Phibbs; Lahiff, Paice, Aulika, Skivington (capt), Evans, Garvey, Treviranus, Hala'ufia.
Replacements: Halavatau for Aulika (56), Moates for Phibbs (60), Joseph for Paice (60), Fisher for Hala'ufia (61), Tagicakibau for Armitage (68), Gibson for Treviranus (70).
Not Used: Lawson, Yanuyanutawa.
Worcester: Pennell; Drauniniu, Grove, Clarke, Lemi; Goode, Hodgson; Mullan, Shervington, Andress, Percival (capt), Schofield, Best, Kvesic, Cowan.
Replacements: Arr for Hodgson (54), Chris Jones for Schofield (54), Taulava for Cowan (54). Matavesi for Clarke (58), Gray for Goode (58), Murray for Andress (58), Ceri Jones for Mullan (68).
Not Used: Lutui.
Referee: Wayne Barnes (RFU).