Exeter earned back-to-back Premiership wins as Ben White's late try saw off London Irish at the Madejski Stadium.
Irish led 10-9 at the break through Nic Rouse's try and Ian Humphreys' conversion and penalty, with Gareth Steenson scoring all Exeter's points.
Marland Yarde's crossed to extend the Exiles' lead, with a further conversion and four penalties from Humphreys.
Exeter staged a comeback with converted tries from Dean Mumm and White sealing victory after two earlier penalties.
The first half was a relatively tame affair with the Chiefs shading territory and possession before Rouse crossed on the half hour to give Irish the momentum heading into half time.
The visitors relied on the reliable boot of Steenson to keep them in touch, but they were only a point behind going into the break.
Steenson gave them the lead temporarily after half time before the hosts raced into a 23-12 lead with a Humphreys penalty, while Yarde was awarded a try on the overlap despite a suspicion of a forward pass.
Humphreys converted before Steenson scored his 1000th point for Exeter with another penalty.
And with prop John Yapp sin-binned for London Irish, the visitors were able to take advantage.
Firs Mumm crossed and then with seven minutes remaining White sealed the victory with Steenson sending over the extras.
VIEWS FROM DRESSING ROOM
London Irish director of rugby Brian Smith:
"At the back end of the match we couldn't defend our errors, we needed to bring our error rate down but we didn't eliminate those errors and they came back to bite us on the backside.
"We went into the contest with quite a few hiccups but we were well prepared and that showed for the first 60 minutes, but their first try was a momentum changer as we lost all our momentum after that.
"Halani Aulika's injury could be a serious one it is an Achilles which may be ruptured. We will assess it in 48 hours but potentially it was a season ending injury."
Exeter boss Rob Baxter:
"I am not happy with our performance but we showed great character.
"In the first half we were disappointing for our game wasn't direct enough as we were content to try and pass the ball around the opposition.
"We are stuttering along a bit, we haven't really hit the heights that we reached a year ago but we are going well in training.
"The first four or five weeks of the season are a dogfight and you just have to fight for the whole of the 80 minutes to get what you can. After the first four weeks you can draw breath and assess where you are."
London Irish: Ojo; Yarde, Mulchrone, Sheridan, Fenby; Humphreys, O'Leary (capt); Parr, Paice, Aulika, Rouse, Sinclair, Danaher, Evans, Treviranus.
Replacements: Stevens, Yapp, Halavatau, Nimmo, Ellis, Tagicakibau, Geraghty, Allinson.
Exeter: Dollman; Whitten, Shoemark, Hill, James; Steenson, Thomas; Sturgess, Yeandle, Tui, Mumm (capt), Welch, White, Scaysbrook, Johnson.
Replacements: Whitehead, Moon, Rimmer, Hayes, Horstmann, Lewis, Slade, Jess.