Austrian second seed Thiem, who ousted home hope Denis Shapovalov on Wednesday, faced two break points in the final game against the 2014 US Open champion before securing the triumph on a third match point.
"I'm so happy with the two wins," he said after his 31st victory of the season. "I beat two amazing players.
"I've really had a great transition from a good confidence in the European summer. This is my first quarter-final here.
"The match today was unreal because I saved nine out of nine break points, which doesn't happen that often.
"At the end it got really tricky again. I served great basically all the second set, then the last games I got big troubles.
"So the match had everything. I'm really satisfied."
Thiem came to Canada after winning the Kitzbuhel clay court title at home last weekend.
The world number four booked a last-eight clash Friday against eighth seed Daniil Medvedev, who eased past unseeded Christian Garin of Chile 6-3, 6-3.
Thiem beat the Russian in April to win the Barcelona title.
"He's having a great season, playing unbelievable, solid tennis every week. It's going to be very, very tough match.
"Barcelona was of course in my favour because it's clay. We had a great, close match in St. Petersburg, which was a very high level.
"I'll try to watch that one again, see what I did great there, and try to play similar tomorrow."
Medvedev beat Garin in 69 minutes, breaking the South American four times.
"It's going to be a very difficult match like the last two times," Medvedev said of his Thursday date with Thiem.
"I know he's in good shape right now. When he plays like this, he's difficult to beat. We saw that in Indian Wells (where Thiem won the title in March).
"I'll consider this match as a test. Am I able to beat players that are in good shape like he is right now and like him?"
Montreal ATP results on Thursday (x denotes seeding):
Daniil Medvedev (RUS x8) bt Christian Garín (CHI) 6-3, 6-3
Dominic Thiem (AUT x2) bt Marin Cilic (CRO x14) 7-6 (9/7), 6-4
Karen Khachanov (RUS x6) bt Félix Auger-Aliassime (CAN) 6-7 (7/9), 7-5, 6-3
Alexander Zverev (GER x3) bt Nikoloz Basilashvili (GEO x13) 7-5, 5-7, 7-6 (7/5)
Rafael Nadal (ESP x1) bt Guido Pella (ARG) 6-3, 6-4
Fabio Fognini (ITA x7) bt Adrian Mannarino (FRA) 6-2, 7-5
Gael Monfils (FRA x16) bt Hubert Hurkacz (POL) 6-4, 6-0
Roberto Bautista Agut (ESP x10) bt Richard Gasquet (FRA) 7-5, 7-5