Virtanen now has three goals in two games after producing just one assist in his previous eight contests.
"It definitely gives me that confidence with the puck now, and I've gotta keep going," said Virtanen of his scoring streak during an interview with Sportsnet during the first intermission.
The injury-riddled Canucks posted their second consecutive win. The Blackhawks dropped their third in a row (0-2-1).
Brendan Gaunce supplied the winning goal in the third period and added an assist, and Antoine Roussel also scored for the Canucks.
Brandon Saad and Jonathan Toews scored for the Blackhawks.
Canucks goaltender Jacob Markstrom stopped 24 of 26 shots, while Chicago's Corey Crawford blocked 24 of 28.
Chicago played without winger Patrick Kane, who is tied for first place in league scoring, due to illness.
Saad put the Blackhawks on the scoreboard first as he took a lead pass from Chris Kunitz, split Vancouver's defense and squeezed a shot through Markstrom at 6:56 of the opening period.
Virtanen pulled the Canucks even with 4:27 left in the first period thanks to a lucky breakaway. The winger was well behind the play when Saad's botched pass eluded Brent Seabrook.
The puck came to Virtanen near center ice, and he beat Crawford with a high shot on his glove side. The goal was the second in two games for Virtanen, who had only one point in his previous eight contests.
Toews gave the Blackhawks a 2-1 lead on a power play 1:05 into the second period. The goal came as Vancouver defenseman Michael Del Zotto's cross-checking penalty in the final minute of the first period carried over to the middle frame.
Saad was denied another goal midway through the second because he kicked in his own rebound after hitting the post on a breakaway. The goal was immediately waved off, and a video review upheld the on-ice call.
Virtanen's second goal of the night drew the Canucks even at 12:24 of the second. The right winger fired in a pass from Markus Granlund, who was being hooked to the ice at the time and drew a delayed penalty that was nullified by the goal.
Gaunce gave the Canucks a 3-2 lead at 9:24 of the third period as Toews made a rare gaffe and threw the puck to him right in front of Chicago's net. The goal was the first in the NHL for Gaunce since he notched two against the Blackhawks on Feb. 1.
He played his first game with the Canucks this season after being promoted from Utica of the American Hockey League a day earlier to replace injured center Brandon Sutter (shoulder).
Roussel closed out the scoring with an assist from Gaunce at 16:33 of the third period.
--Field Level Media
(This story has not been edited by Devdiscourse staff and is auto-generated from a syndicated feed.)