Exeter remain on course for the Champions Cup quarter-finals after extending their lead at the top of Pool Two with a win at Sale.
Stuart Hogg starred in a frantic first half, earning Exeter a penalty try and scoring one of his own.
Akker van der Merwe's double kept Sale close, but the Chiefs led at half-time thanks to Luke Cowan-Dickie's score.
And Exeter held on to make it three wins from three after Jono Ross' late score gave the visitors a scare.
Exeter now have a six-point lead over Glasgow at the top of the pool, while Sale are third on six points after earning a losing bonus point.
French side La Rochelle are bottom of the pool after losing all three games.
Sale started strongly and repeatedly tested the Exeter defence, but were only rewarded with a Robert du Preez penalty, given after an infringement at the breakdown.
But two moments of individual brilliance from the returning Hogg put Exeter firmly in control. The Scotland full-back first stepped round Marland Yarde to break free and was brought down by Chris Ashton metres from the tryline.
The move forced Sale flanker Tom Curry to tackle Nic White from an offside position to stop the Exeter scrum-half scoring and his foul resulted in a yellow card and a penalty try.
Moments later, Hogg kicked the ball through Sale's defensive line and over the whitewash and dived on to it to claim five points but he then had to leave the field for a head injury assessment and did not return.
Joe Simmonds' penalty extended Exeter's advantage, before Sale lock Bryn Evans charged down White's kick to give Van der Merwe the chance to cut their lead once more.
The visitors hit back almost immediately, capitalising on the man advantage in Curry's absence and creating space for Cowan-Dickie to power over the tryline.
Sale kept in touch as Van der Merwe claimed his second try off a driving maul, but the hosts were still nine points down at half-time.
As a quiet second half neared its end, Exeter conceded one too many penalties in their 22 and Ben Moon was shown yellow as a result, with Ross diving over from short range while the prop was off the pitch.
The two sides will play each other again on Sunday 15 December as the Chiefs seek a first Champions Cup quarter-final since 2016.
Exeter director of rugby Rob Baxter said: "The last 10 minutes were the longest 10 minutes of my life. Sale kept coming and we couldn't relieve any pressure. I thought we tried to close the game out a little bit early and nearly paid the price.
"We had to show some fighting qualities to see them off."
Sale director of rugby Steve Diamond said: "The lads played really well. We changed things up in the week with our attack and I think that went well.
"I thought our forwards matched them today and probably edged them towards the end."
Sale: Hammersley; Ashton, James, Van Rensburg, Yarde; R du Preez, de Klerk; Oosthuizen, van der Merwe, John, Evans, Phillips, T Curry, B Curry, Ross
Replacements: Langdon, Harrison, Cooper-Wooley, Postlethwaite, Neild, Cliff, L James, Solomona
Exeter: Hogg; Nowell, Slade, Hill, Whitten; Simmonds, White; Hepburn, Cowan-Dickie, Williams, Dennis, Hill, Ewers, Vermeulen, Simmonds
Replacements: Taione, Moon, Street, Kirsten, Armand, Maunder, Steenson, Woodburn