Nick Bonino scored two goals, Ryan Miller made 20 saves and the Vancouver Canucks overcame an early deficit to beat the Colorado Avalanche 4-2 on Tuesday night.

Henrik Sedin and Derek Dorsett also scored for the Canucks. Chris Higgins had two assists for Vancouver.

The Canucks tied it early in the third when Dorsett deflected Dan Hamhuis' shot over the shoulder of Semyon Varlamov at 2:27. Bonino gave Vancouver the lead when he corralled a loose puck in the crease and put it in the open net at 4:47.

Bonino got his second nearly five minutes later when he beat Varlamov on the short side to make it 4-2. Shawn Matthias iced with his first goal at 13:10.

Varlamov had 32 saves and John Mitchell and Jamie McGinn had goals for the Avalanche, which has lost three straight. Colorado, which started last season 12-1, is 3-6-5.

Vancouver controlled the play in the second period but had a hard time getting one past Varlamov. It took until the final seconds when Henrik Sedin, stationed in front of the net, picked up Daniel Sedin's rebound and beat Varlamov with 4 seconds left in the period.

The Avalanche went ahead 1-0 on Mitchell's goal 1:15 into the game. He got a drop pass from Alex Tanguay and beat Miller with Colorado's first shot of the game.

McGinn made it 2-0 late in the first when Jarome Iginla fed him with a pass from behind the net and McGinn put the puck in the top right corner at 16:33.

The Avalanche killed off all four of their penalties and increased their streak to 29 straight penalty kills. It's the longest for the team in a single season since 2001-02.

NOTES: Avalanche D Brad Stuart injured his leg in the second period and did not return. ... Colorado RW Daniel Briere was a healthy scratch for the fourth straight game. He has two goals in 10 games this season. ... Canucks D Kevin Bieksa was in the lineup two days after taking a puck to the eye in a game against Nashville. ... Canucks rookie C Bo Horvat made his NHL debut. He was the ninth overall pick by Vancouver in the 2013 NHL Draft.