|Exeter (19) 26|
|Tries: Short, Steenson Cons: Steenson 2 Pens: Steenson 4|
|Harlequins (17) 25|
|Tries: Penalty, Evans, Walker, Visser Con: Evans Pen: Evans|
|Saturday's Premiership action as it happened|
Exeter remain second in the Premiership after hanging on to beat third-placed Harlequins in appalling weather at a wet and windy Sandy Park.
Chiefs stand-off Gareth Steenson racked up 21 of his side's 26 points, converting his own second-half try to add to his four first-half penalties and conversion of James Short's try.
Quins scored four tries to earn a bonus point, the first of them a penalty try.
Nick Evans, Charlie Walker and Tim Visser all crossed for the visitors.
Playing into the strong, swirling wind before the break, Quins would have felt encouraged that they trailed by just two points at half-time.
They had some luck with their fourth, bonus-point try when England full-back Mike Brown's kick bounced off the corner flag and winger Visser gratefully accepted his opportunity.
But Quins could not make the elements count. And. having already put wide three of their conversion attempts, they then missed the chance to win it three minutes from time when replacement kicker Tim Swiel's difficult late penalty, 15 metres in from the touchline, went wide.
After surviving a thrilling climax, when only desperate defence kept out Quins, Exeter remain unbeaten at home in the Premiership since early January, leaving Quins having to settle for two bonus points.
Exeter head coach Rob Baxter:
"Harlequins were very good, particularly in the first half. They took advantage of what was quite a passive and timid performance by us.
"The try we scored just before half-time was crucial for us, and then we started to show some proper qualities. We got our set-piece going, and we probably showed enough for us just to edge it. We fought and fought.
"We are frustrated at parts of the performance, but ultimately, sometimes you have got to look at the scoreboard."
Harlequins rugby director Conor O'Shea:
"I am gutted for us as a team, but I am incredibly proud of the performance. We are going to be in this for the long haul this season - 100% - and we are going to get stronger and stronger.
"It was a case of should have, could have. We felt really in control in the first half playing into a very strong wind, when we were very disciplined.
"We are disappointed we couldn't finish it off. We should have seen that off, but we didn't. The players are absolutely gutted."
Exeter Chiefs: Dollman; Nowell, Slade, Whitten, Short; Steenson, Chudley; Hepburn, Yeandle (capt), Low, Lees, Welch, Ewers, Armand, Waldrom.
Replacements: Taione, Moon, Brown, Parling, Johnson, Lewis, Hill, Woodburn
Harlequins: Brown; Walker, Lowe, Sloan, Visser; Evans, Care (capt); Marler, Buchanan, Sinckler, Horwill, Twomey, Robshaw, Ward, Easter.
Replacements: Gray, Lambert, Collier, Matthews, Treadwell, Tebaldi, Swiel, Hopper.