Gareth Steenson kicked 16 points as Exeter beat Worcester to remain unbeaten at home in the Premiership this season.
Gonzalo Camacho's try put Exeter ahead and Steenson kicked the conversion and four penalties as the hosts opened up a 19-point lead.
Andy Goode's penalty on the stroke of half-time closed the gap to 19-3.
Goode added two more penalties after the break but Haydn Thomas and Chris Budgen then went over for Exeter.
The hosts, who did the double over Worcester last season, went into the game on the back of a three-match losing streak.
Camacho crossed to give Exeter a fifth-minute lead as he won the chase for the try line after Luke Arscott's grubber kick, and Steenson's successful conversion began a run of 14 unanswered points for the fly-half.
Steenson kicked four penalties in 17 minutes as the home side took control on the game inside the first half hour.
Goode put Worcester's first points on the board with a penalty just before the break and made it 19-6 with the first score of the second half.
The visitors then had a try from replacement Ravai Fatiaki ruled out for a forward pass.
Worcester, who have only won away once in the Premiership since April 2009, briefly looked like staging a fightback as Goode added his third penalty of the afternoon.
Warriors last won on the road in the Premiership back on New Year's Day against Wasps.
Thomas's clever dummy saw him go over for Exeter's second try with Steenson adding the extras.
Worcester's Sam Betty was shown a yellow card, before Exeter replacements Dave Ewers and Chris Budgen combined with the latter going over for his side's third try, while Ignacio Mieres kicked the conversion.
VIEW FROM THE DRESSING ROOM
Exeter Chiefs head coach Rob Baxter:
"It was four very valuable points but I can't help but feel that we left a point out there, not least because large parts of our game held up well and should have given us a foundation to push on a little earlier than we did.
"The enthusiasm of the players to defend was far better than last week at Bath. Our toughness on the game line in the first half was better than last week and our maul defence was fantastic.
"You have to give Worcester credit, they are a good dogged side and they are not just going to give up on the game."
Worcester Warriors head coach Richard Hill:
"It was difficult to put your finger on exactly what was going wrong but it was across the board with a lot of inaccuracies. We had a very poor start, which puts you on the back foot.
"You can't come back here after being 19-0 down at one stage. Exeter, as usual, were pretty accurate because their skills are good. They very rarely make any mistakes and they put pressure on you because of that.
"But we were making too many errors, drop passes, lost the breakdown battle and couldn't get our drive going."
Exeter: Arscott; Camacho, Naqelevuki, Dollman, Jess; Steenson, Thomas; Sturgess, Whitehead, Rimmer; Hayes (capt), Muldowney; Mumm, Scaysbrook, Baxter.
Replacements: Hanks for Hayes (62), Clark for Whitehead (62), Whitten for Naqelevuki (65), Moon for Sturgess (65), Ewers for Mumm (70). Mieres for Steenson (73), Barrett for Thomas (73), Budgen for Rimmer (73).
Worcester: Pennell; Drauiniu, Grove, Matavesi, Lemi; Goode, Hodgson; Ceri Jones, Shervington, Andress; Percival, Schofield; Betty, Kvesic, Chris Jones.
Replacements: Fatiaki for Drauniniu (48), Mullan for Ceri Jones (52), Taulava for Schofield (56), Lutui for Shervington (62), Arr for Hodgson (70), Carlisle for Matavesi (73), Currie for Andress (73), Gillies for Kvesic (73).
Sin Bin: Betty (75).
Referee: David Rose (RFU).