Andreas Lilja, Joe Pavelski, Logan Couture, Jamie McGinn and John McCarthy also scored for the Sharks (2-4), who will fly to Mannheim, Germany, on Thursday for their final exhibition game against Adler Mannheim on Saturday.
Raffi Torres had two goals for the Canucks (2-5), who finish the preseason at Anaheim on Friday. Eddie Lack stopped 24 shots.
Heatley has scored in all four exhibition games in which he has played.
Lilja, a defenseman who helped the Detroit Red Wings win a Stanley Cup when San Jose coach Todd McLellan was on the staff, scored his first goal for the Sharks.
Torres put the Canucks on the board first, scoring midway through the first period.
Pavelski's power-play goal two minutes later evened the score and Couture's power-play goal with just under five minutes left in the initial period put San Jose ahead to stay.
NOTES: Sharks F Jamal Mayers, who left Tuesday night's game early, was scratched. ... The Sharks assigned D Nick Petrecki and RW Cam McIntyre to Worcester of the AHL. ... The Canucks need a win Friday to avoid their worst preseason record in nine years. They were unbeaten in 16 combined exhibition games in 2008-09.
|Raffi Torres (1) Wrist shot - ASST: Dan Hamhuis (1)|
1 - 0 VAN
|PPG - Joe Pavelski (1) Slapshot - ASST: Logan Couture (1), Devin Setoguchi (1)|
1 - 1 Tie
|PPG - Logan Couture (1) Slapshot - ASST: Ryane Clowe (1), Andreas Lilja (1)|
2 - 1 SJS
|PPG - Jamie McGinn (1) Tip-in - ASST: Marc-Edouard Vlasic (1), Dany Heatley (1)|
3 - 1 SJS
|John McCarthy (1) Wrist shot - ASST: Scott Nichol (1), Frazer McLaren (1)|
4 - 1 SJS
|Raffi Torres (2) Tip-in - ASST: Dan Hamhuis (2), Christian Ehrhoff (1)|
4 - 2 SJS
|PPG - Dany Heatley (1) Wrist shot - ASST: Joe Pavelski (1), Joe Thornton (1)|
5 - 2 SJS
|Andreas Lilja (1) Snap shot - ASST: Devin Setoguchi (2), Joe Thornton (2)|
6 - 2 SJS
|Power Play %||19.3%||21.6%|
|% on Road||17.3%||19.5%|
|% at Home||21.1%||23.8%|
|Darcy Hordichuk Hooking - 2 min against Kent Huskins|
|Alexandre Bolduc Slashing - 2 min against Dany Heatley|
|Dany Heatley served by Frazer McLaren Slashing - 2 min against Alexandre Bolduc|
|Dany Heatley Roughing - 2 min against Alexandre Bolduc|
|Mike Moore Fighting (maj) - 5 min against Guillaume Desbiens|
|Guillaume Desbiens Fighting (maj) - 5 min against Mike Moore|
|Raffi Torres Delaying Game-Puck over glass - 2 min|
|Keith Ballard Holding - 2 min against Tommy Wingels|
|Christian Ehrhoff Delaying Game-Puck over glass - 2 min|
|Joe Pavelski Boarding - 2 min against Christian Ehrhoff|
|Christian Ehrhoff Unsportsmanlike conduct - 2 min against Joe Pavelski|
|Alexandre Bolduc Hi-sticking - 2 min against Logan Couture|