DENVER -- Goalie Jacob Markstrom made 29 saves, center Bo Horvat had a goal and an assist, and the Vancouver Canucks ended a four-game losing streak with a 3-1 win against the Colorado Avalanche on Tuesday at Pepsi Center.
Markstrom, who started for the first time since Jan. 21, has won four consecutive games and is 5-0-1 in his past six.
The Canucks (21-20-12) scored three straight goals to win the opener of a two-game road trip. They play the Arizona Coyotes on Wednesday.
"It was a good game from the bottom to the top," Markstrom said. "We had some huge [penalty] kills late in the first and early in the second, and we had some timely goals. Our guys did a great job, we were blocking shots and had great sticks. They really didn't get any grade-A chances."
The Avalanche failed to score on three early power plays, including 5-on-3 advantages that lasted 37 and 27 seconds.
"[Markstrom] was great," said left wing Sven Baertschi, who broke a 1-1 tie at 16:22 of the second period. "He was very poised in net and played with a lot of confidence. When you see a goalie playing with confidence, it gives you an extra boost and you want to play even harder for him."
Video: VAN@COL: Horvat's quick shot pads the Canucks' lead
The Avalanche (27-25-4) were outscored 13-7 in a winless four-game homestand (0-3-1). They play the Ottawa Senators on Thursday to begin a three-game road trip.
"Everybody around the League sometimes goes through tough times," Avalanche coach Patrick Roy said. "You just hope now that we have a good game on the road in Ottawa, that's going to be our next challenge. It's not a period of time where you can feel sorry for yourself, it's the opposite. You have to find a solution, you have to find ways to bounce back and play better hockey. We had four games at home, we had a good opportunity to pick up some big wins, and we didn't do it."
Horvat put the Canucks ahead 3-1 at 4:30 of the third period with his 10th goal of the season. Defenseman Luca Sbisa carried the puck into the Avalanche end and passed to Horvat, who beat goalie Semyon Varlamov (25 saves) with a shot from the inner edge of the left circle.
"I saw open ice, they misplayed it a bit, so I took the ice and it ended up in the net," Sbisa said. "Bo put a great shot on net. It's coming around. We've been playing decent hockey the last three or four games, but we didn't find a way to win. Tonight we did."
The Canucks grabbed a 2-1 lead in the second period on goals by Matt Bartkowski and Baertschi after Avalanche defenseman Francois Beauchemin opened the scoring at 2:26 of the period.
Baertschi gave the Canucks a 2-1 lead with his 10th goal. Ben Hutton took a shot that Varlamov stopped, and the rebound slid into the right circle. Baertschi shot it into the net as teammate Jake Virtanen was checking Avalanche defenseman Tyson Barrie into Varlamov.
Video: VAN@COL: Baertschi's rebound finds the net for lead
Roy challenged the goal, claiming that Varlamov had been interfered with. After a long delay to check replays, referees Dave Jackson and Evgeny Romasko allowed the goal to stand.
"I thought that Tyson was pushed into the goalie, that's the reason why Varly could not make the save," Roy said.
Bartkowski tied the game at 9:43 with a shot from the slot that went into the net off Varlamov's right shoulder. It was his third goal and first in 41 games, since Nov. 2.
The goal came shortly after the Avalanche killed Nick Holden's penalty for hooking Derek Dorsett.
Beauchemin, who had gone seven games without a goal, converted Jarome Iginla's pass for his seventh goal. Beauchemin took a shot from the middle of the right circle that eluded Markstrom to the short side.
The Avalanche went 0-for-4 on power plays and are in a 4-for-37 slump covering 14 games.
"We have to simplify, we're trying to be too cute offensively instead of just putting pucks on net and getting the rebounds, getting goals off shin pads and stuff like that," Beauchemin said. "We had a lot of chances tonight and didn't bury them. We had a couple 5-on- 3s and they can be turning points in games and it ended up costing us in the end."
The Canucks lost center Brandon Sutter at 10:59 of the second period when he was cut in the face with a puck. Defenseman Alexander Edler also didn't play in the third period; the Canucks said he was hit in the ankle by a puck.
"It's tough," Canucks coach Willie Desjardins said. "Both of them we'll have to evaluate tomorrow to make sure where we're at, but it looks like it might be a little bit of time for both of them."
Video: Horvat, Markstrom lead Canucks past Avalanche