Horvat, the Canucks' captain, was the only player to beat Carey Price in the shootout, sending a wrist shot past the Canadiens goalie and into the top-left corner of the net.
''We know that we can do it and beat every team,'' Horvat said. ''It took us a little bit to figure that out and figure out to stick with the process and stick with our game. Obviously we'd like to play with the lead instead of chasing, but for us to stick it out and do it again tonight definitely shows the character.''
The Canadiens got a power-play goal from Jeff Petry early in the first period.
Vancouver's Adam Gaudette forced extra time, scoring with 40.5 seconds left in regulation. Horvat assisted on the goal.
''I knew if I just stuck with it and did the right things, it would go in eventually,'' Gaudette said. ''So it finally went in, it felt great. And I can't take my foot off the gas. I've got to keep doing what I've been doing on and off the ice.''
Price had 28 saves for the Canadiens. Thatcher Demko stopped 29 shots for the Canucks.
Brock Boeser nearly eked out a win for the Canucks in extra time. But Price stretched out the length of the crease and made a glove save that forced the shootout.
Gaudette's goal 19:19 into the third ensured overtime. He ripped a shot from the left circle, ringing it off the post and in, tying the score with his third goal of the season.
Vancouver pulled Demko with 1:20 left on the clock in a bid to net the equalizer, and nearly took its second too-many-men penalty of the night in the process. Horvat jumped over the boards before the officials noticed the errant forward.
A sloppy line change proved costly for the Canucks early.
Vancouver was called for too many men, giving Montreal a power play. Petry capitalized, using a screen by Corey Perry in front of the net to sneak a long shot past Demko and open the scoring 4:37 in.
The Canadiens were 1 for 2 with the man advantage. Vancouver failed to convert on three power plays, despite getting a minute and 25 seconds of 5-on-3 hockey midway through the first period.
Tyler Toffoli nearly gave Montreal a two-goal lead early in the second, firing a pair of slap shots at Demko.
The Canucks goalie stopped both, but a rebound on the second attempt popped up as he fell back into the net and landed in the corner of the crease, dangerously close to the goal line. Defenseman Tyler Myers swept it out of harm's way.
Gaudette had two prime chances to even the score for Vancouver in the second.
A wraparound shot from teammate J.T. Miller pinged off Gaudette's shin and just wide of the post around the eight minute mark. About two minutes later, the Canucks forward blasted a slap shot from the slot, but it was stopped by Price.
Canucks coach Travis Green said the latest victory is a big one for his group's confidence.
''You're always learning lessons along the way. I think in the past, we've kind of got away from our game, from the type of game we need to play,'' he said.
''I thought the last few games, we've just stuck with it and stayed persistent with our game, had purpose to how we wanted to play and believed in it the whole way.''
NOTES: Vancouver defenseman Jordie Benn was injured early in the third period and did not return. . Demko was named the NHL's second star of the week earlier Monday. He posted a 3-0-0 record last week with a 1.00 goals-against average and .969 save percentage. . Montreal equipment manager Pierre Gervais worked his 3,000th game. An announcement of the feat elicited stick taps from both teams.
The Canadiens and Canucks complete a two-game set on Wednesday night.
More AP NHL: https://apnews.com/hub/NHL and https://twitter.com/AP-Sports
Copyright 2021 STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.