Saracens: (16) 23
Tries: Scarbrough, Ratuvou
Cons: Jackson 2
Pens: Jackson 3
Glasgow: (9) 16
Try: Lamont
Con: Parks
Pens: Parks
Saracens survived Glasgow's spirited second-half fightback at Vicarage Road to book a home European Challenge Cup semi-final with English rivals Bath.
Glen Jackson landed two penalties and converted Dan Scarbrough's try to put the hosts into an early 13-0 lead.
Fly-half Dan Parks kept Glasgow in touch with three first-half penalties but Sarries seemed to be home and dry when Kameli Ratuvou's try made it 23-9.
But a fourth Parks penalty and Rory Lamont's try made for a nervous finish.
Both sides were temporarily reduced to 14 players in the 47th minute of a sometimes niggly game when Glasgow number eight John Beattie and Saracens' England flanker Richard Hill were sent to the sin-bin following a skirmish on the floor.
Jackson, who had intercepted a Parks pass to put Scarborugh over in the first half, frustrated Glasgow again with another timely interception as Lamont tried to find Thom Evans.
England centre Andy Farrell, making his return from a back injury, created Saracens' second try in the 52nd minute when he evaded Graeme Morrison's tackle and released Fijian winger Ratuvou.
But Lamont burst through the middle just before the hour and Sarries had to endure some hairy moments in defence in the final quarter before making sure of their semi-final place.
The Premiership play-off contenders have now lost just one of their last 10 matches in domestic and European competitions.
Saracens director of rugby Alan Gaffney:
"I have to give Glasgow credit. They played some exceptional rugby and could have stolen the game. "We went 13-0 in front and thought we were in a Sevens game. The more we opened the game up the more it suited Glasgow. It took a lot to hold out.
"But I think we have the potential to win it."
Glasgow captain Alastair Kellock:
"The boys are gutted. We ran our legs off. "We didn't start particularly well and gave away a couple of soft penalties, but we reacted well and could have won.
"Once we find that extra inch we will start winning these games."
Saracens: Thomas Castaignede; Dan Scarbrough, Kevin Sorrell, Andy Farrell, Kanile Ratuvou; Glen Jackson, Neil de Kock; Kevin Yates, Shane Byrne, Census Johnston, Iain Fullarton, Simon Raiwalui (capt), Kris Chesney, Richard Hill, Ben Skirving.
Replacements: Matt Cairns, Nick Lloyd, Tom Ryder, Paul Gustard, Moses Rauluni, Adam Powell, Rodd Penney.
Glasgow Warriors: Rory Lamont; Hefin O'Hare, Graeme Morrison, Andrew Henderson, Thom Evans; Dan Parks, Graeme Beveridge; Justin Va'a, Fergus Thomson, Euan Murray, Andy Newman, Alastair Kellock (capt), Steve Swindall, John Barclay, John Beattie
Replacements: Scott Lawson, Kevin Tkachuk, Dan Turner, Andrew Wilson, Donnie Macfadyen, Colin Gregor, Colin Shaw.