A commanding second-half performance from Glasgow Warriors cemented their first win of Pool 2 in the Heineken Cup.
Gregor Townsend's men had been fortunate to only trail by three points at the break as Exeter Chiefs took the game to their hosts.
However, they dominated the second half and Tim Swinson and Tyrone Holmes both went over to give them a 20-9 lead.
Dave Ewers' converted try made it a nervy finish, but the Warriors held on.
The result moves Glasgow back into contention in the group, while Exeter's late try ensures they take away a bonus point.
The home side were behind after just three minutes when Al Kellock conceded a penalty, and Gareth Steenson put the ball through the posts.
In a hectic start Ruaridh Jackson had Glasgow back level inside 10 minutes after an exhausting four minutes of attacking play.
Exeter were having the better of the first half, but after both sides continued to exchange penalties the visitors had a mere three-point lead after 25 minutes.
Steenson then saw yellow, but it appeared the referee had missed Gabriel Ascarate's knock-on.
That sparked home pressure for the remainder of the first half, and when Dave Lewis kicked the ball out 10 yards from the try line in the mistaken belief it was half-time, Exeter found themselves hanging on for the remaining 30 seconds.
Jackson fell short with a penalty early into the second half, but before long Glasgow were in front.
Tommy Seymour evaded two tackles, then Nikola Matawalu twisted and turned before releasing Swinson to cross.
The 6,047 crowd were on their feet again when Seymour touched down, but a forward pass in the build up cut short Glasgow's celebrations.
The home side eventually got the second try their second-half play merited. Holmes finished off a sweeping 71st-minute move involving DTH Van Der Merwe and Byron McGuigan.
Exeter reduced the deficit to four points when Lewis scored and Henry Slade converted, but it was too little too late.
Glasgow: Maitland, Seymour, McGuigan, Ascarate, van der Merwe, Jackson, Matawalu, Grant, MacArthur, Kalman, Swinson, Kellock, Harley, Holmes, Strauss.
Replacements: Hall for MacArthur (58), Low for Kalman (28), Gray for Swinson (58). Not Used: Yanuyanutawa, Vernon, Cusiter, Wight, Bennett.
Exeter: Dollman, Whitten, Shoemark, Hill, Jess, Steenson, Lewis, Moon, Whitehead, Tui, Mumm, Welch, Johnson, White, Ewers.
Replacements: Slade for Whitten (23), Sturgess for Moon (67), Yeandle for Whitehead (75), Brown for Tui (67). Not Used: Armand, Horstmann, Thomas, Vainikolo. Sin Bin: Steenson (22).
Ref: Romain Poite (France)