The Canucks also got goals from Dakota Joshua, Ethan Bear, Elias Pettersson and J.T. Miller in closing a five-game road trip. Pettersson added an assist, and backup goalie Spencer Martin made 28 saves.
''You just don't want to go home on a losing note with the schedule that is up ahead of us,'' Canucks coach Bruce Boudreau said. ''Hopefully this gives us a little big of confidence.''
Jeff Skinner scored twice for the struggling Sabres. Alex Tuch had a goal and two assists, Casey Mittelstadt also scored, and Tage Thompson tallied two assists. Craig Anderson stopped 27 shots. Buffalo has lost six in a row after a winless four-game homestand.
The Canucks scored power-play goals 1:12 apart to build a 5-2 lead midway through the second period. Horvat got his 14th on a breakaway before winning a face-off to set up Miller.
''For the majority of the game, I thought we played really well,'' Horvat said. ''We're all really happy with our effort tonight.''
Vancouver ranks second in the NHL with 18 goals on power plays.
Bear got his first goal in eight games since Vancouver acquired him in an Oct. 28 trade with Carolina. Horvat's backhand pass fed Bear in the high slot.
Skinner snapped a seven-game scoring drought with his first multigoal game of the season for Buffalo.
Rasmus Dahlin slipped a pass through two defenders to set up Skinner on the doorstep in the first period. Thompson made a nifty move and found Skinner wide-open in the left circle in the second.
Tuch redirected Owen Power's point shot and bounced the puck past Martin in the second period for his eighth goal.
''It took us a little bit too long to push back,'' Tuch said. ''I wish we had done it halfway through the first or the second. But it's a learning process.''
Mittelstadt brought the Sabres within a goal when he scored with 7:58 remaining in the game. It was Mittelstadt's third goal in five games.
''When you win games by one goal, you learn how to win,'' Boudreau said. ''It's important. Those are good wins.''
Buffalo scratched forwards Kyle Okposo (lower-body injury) and Jack Quinn (undisclosed), and called up Riley Sheahan and Anders Bjork from the minors.
Vancouver put forward Jack Studnicka (lower body) on injured reserve and called up Lockwood, who got his first NHL point with an assist on Joshua's goal.
Sabres defenseman Henri Jokiharju returned to the lineup after missing 11 games with a facial fracture.
Canucks: Host the Kings on Friday night.
Sabres: Open a three-game road trip Wednesday night in Ottawa.
AP NHL: https://apnews.com/hub/nhl and https://twitter.com/AP-Sports
Copyright 2023 STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.