Playing in front of a bunch of friends and family, Shinkaruk tipped a shot from Kent Huskins on net that was stopped, but he batted the rebound out of mid-air and past Brad Thiessen at the 9:49 mark of the third period. It was Shinkaruk's second goal in as many games.
Chris Higgins and Nicklas Jensen also scored for Vancouver, who improve to 2-1-0 in exhibition play.
Sean Monahan scored for Calgary, whose pre-season record falls to 2-2-0.
Eddie Lack got the start in net for the Canucks and was perfect on 20 shots before being relieved halfway through the second by Joacim Eriksson. Lack has stopped all 36 shots he's face in his two pre-season appearances.
Jonas Hiller made his second start for the Flames. He faced only 12 shots in two periods of action, stopping 10 of them.
The buzz going into the game was the much anticipated pre-season debut of Sam Bennett, who the Flames selected fourth overall last June in the NHL Draft, making him Calgary's highest draft pick in team history.
Hampered to begin training camp by a strained groin, Bennett finally got to participate in a regular practice with the team on Tuesday.
His abilities on the ice were evident in the first period. In the opening 20 minutes, Bennett had two shots and on a couple occasions made a couple of slick moves with the puck that left Canucks defenders grasping at air.
It was a shift early in the second period, however, where Bennett really had the Scotiabank Saddledome crowd on the edge of their seats.
First, he cut in front of the net quickly after looking he was going behind and fooled nearly everyone but could not tuck the puck in the near post. Right after on a shot from the blue-line, Bennett deftly deflected a point shot out of mid-air and on net. Next rush up the ice, he took the puck hard to the net, had his shot stopped, but ended up bulldozing Lack in the process.
As he got up off the pile in the goal crease, the crowd gave him a loud ovation.
Those three shots in less than 30 seconds gave Bennett five on the game and at the time, that was more than the Vancouver Canucks team had.
In 15:58 of ice time, Bennett finished the game with a game-high seven shots.
Down 2-0, the Flames pulled within one at 17:07 on the power play when Bennett's shot was blocked by Luca Sbisa but Monahan corralled the rebound and put a backhand past Eriksson.
Vancouver opened the scoring 2:45 into the second period when Higgins ripped a shot into the top corner over the glove of Hiller.
Later in the second after some sustained pressure in the Flames zone, Jensen capitalized, taking pass out from behind the net and sneaking a shot inside the goal post before Hiller could get across.
Notes: Bennett opened the game centring veteran David Jones and rookie Michael Ferland but Flames coach Bob Hartley mixed up his lines over much of the second and third period... The only area where Bennett struggled was at the face-off dot, going 4-11... The two teams meet again Friday night in Vancouver... Calgary still has 58 players in camp so expect a bunch of cuts in the very near future.