Cipriani's try was crucial for Wasps
Wasps 19 (3)
Pens: King 4
Worcester 14 (8)
Pens: Drahm 2
Wasps fly-half Alex King kicked 14 points to give his side victory over stubborn basement club Worcester.
The Warriors went 8-3 ahead at half-time through Shane Drahm's drop-goal and Kai Horstmann's try.
But Danny Cipriani crossed early in the second half for Wasps and King added three more penalties although Worcester kept in touch with two Drahm kicks.
And Wasps substitute Josh Lewsey produced a late try-saving tackle on Gary Trueman to give his side victory.
Lewsey's intervention, which came in the dying seconds as Worcester looked set to claim a winning try, helped Wasps keep their title hopes alive with their second win in three games.
Full-back Drahm, who had to be alive to deny Wasps scrum-half Eoin Reddan early on, put his side ahead on 15 minutes with a well-executed drop.
606 DEBATE: Give your thoughts on the match
The visitors dominated the set-pieces in the opening exchanges and new England prop Phil Vickery and the rest of his front-row colleagues struggled in the Wasps scrum and were penalised on three occasions.
And the home side had to wait until the 38th minute to get on the scoreboard as they were frustrated by Worcester's hard-working defence, King kicking the penalty.
Worcester went ahead after Drahm took advantage of some poor Wasps defence to feed number eight Horstmann who scored in the corner.
Teenager Cipriani touched down on 42 minutes after some good work from Lawrence Dallaglio and when King added another three points following hooker Chris Fortey's sin-binning, the game looked over.
Worcester, who had given themselves a relegation lifeline with victories over Northampton and Saracens over the festive period, refused to buckle.
Drahm and King traded two penalties each, the final kick coming from the Wasps half-back on 75 minutes, before Lewsey's fine tackle.
Wasps director of rugby Ian McGeechan:
"I thought we performed like chalk and cheese in the first and second halves.
"We had no ball to play with in the first half. We know how Worcester wanted to play and we adjusted our game at half-time. We had to adapt to beat them at the game they play.
"After the break we controlled the set piece and I thought we won well in the end.
"Cipriani did very well and if he sticks at it he'll be a very good player - that's for certain. He's clearly got the talent and was very good under the high ball.
"Dallaglio's performance was also a step up without a doubt. We needed his experience and he provided it at just the right time."
Worcester boss John Brain:
"It was a really tight game. We gave away all the good work from the first half through one turnover after the break.
"We're a long way from being the worst team in this league. To only get a point is very disappointing.
"The mood in the dressing room is still upbeat. We have to ask ourselves did we perform on the day and I think we did. There were lots of positives for us. We scrummaged well and made a good Wasps' pack look ordinary.
"We had chances to win at the end and had we scored nobody would have argued. We're playing better than we have done for a long time; we now need to get our home form back on track."
Wasps: Cipriani; Thrower, Waldouck, Waters, Voyce; King, Reddan; Bracken, Ibanez, Vickery, Purdy, Skivington, Haskell, Rees, Dallaglio.
Replacements: Lewsey for Thrower (70), Payne for Bracken (42), Ward for Ibanez (42), Palmer for Skivington (64), O'Connor for Rees (80).
Not Used: Hart, Amor.
Worcester: Drahm; Delport, Rasmussen, Trueman, Garvey; Brown, M Powell; Morris, C Fortey, Horsman, Gillies, Collier, Hickey, Sanderson, Horstmann.
Replacements: Tuamoepeau for Horsman (53), Quinnell for Hickey (67), Lutui for Horstmann (58).
Not Used: Murphy, Harding, R. Powell, Tucker.
Sin Bin: C Fortey (50).
Ref: Tony Spreadbury (Bristol).