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.
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.