Heatley had two goals and an assist and San Jose held off Edmonton 4-3 on Saturday.
Benn Ferriero and Joe Pavelski also scored for San Jose. The Sharks are 11-7-4 overall and 4-4-2 on the road after winning for the first time away from San Jose since beating Edmonton on Oct. 23.
"Any win is important for our team right now, but obviously we hadn't won since we had been here a few weeks ago," coach Todd McLellan said. "The way we won is probably more important than the win itself."
San Jose was down to four defencemen for most of the game with Niclas Wallin going down early in the first period and Kent Huskins joining him in the dressing room late in the opening frame, forcing the Sharks to buckle down and play the kind of hockey that McLellan has been looking for.
"All of a sudden we didn't turn the puck over," McLellan said. "All of a sudden we didn't give up too many outnumbered rushes. All of a sudden we won a lot more faceoff battles. It's funny how the game changes when you have to play it the right way. They raised the bar and have proven to each other that they can do it. Now they have to choose to do it all the time."
Sam Gagner, Shawn Horcoff and Jim Vandermeer scored for Edmonton. The Oilers have lost eight of their last 10 games to drop to 6-12-4.
"We can take some solace that we battled and came back," rookie Taylor Hall said. "A three-goal lead, a lot of teams, us included, have given up and thrown in the towel at that point. But we didn't give up and made it interesting in the end."
It only took the Sharks 1:10 to open the scoring. Oilers goalie Devan Dubnyk was able to make a pad save on a shot by Justin Braun, but Ferriero was left untouched to backhand in the rebound.
It was the first goal of the season for Ferriero, who was called up from San Jose's AHL affiliate in Worcester, Mass., for the game.
Edmonton was able to even just three minutes later on a power play. Gagner made a nice move on Braun to get a backhand shot on Sharks starter Antero Niittymaki and then shoveled home his own rebound.
The Sharks regained the lead two minutes into the second period on a power play. Joe Thornton spotted Heatley poised to unleash a slap shot and he blew his 10th of the season past Dubnyk to make it 2-1.
San Jose took a two-goal lead with three minutes left in the second on Heatley's second goal. He banked a backhand shot from behind the net off Dubnyk's heel.
"I thought we were able to get through a little bit of adversity tonight with going down to four defensemen so early," Heatley said. "I thought the whole team did a good job of dealing with that and playing the way we can play."
The Sharks gave themselves a three-goal cushion midway through the third when the Oilers turned it over deep in their zone and Patrick Marleau nudged the puck to Pavelski, who beat Dubnyk high to the glove side.
Edmonton made a game of it with two goals less than a minute apart with seven minutes to play.
Niittymaki made a save on Jordan Eberle's shot, but Horcoff was there to send the big rebound into the net. It was suddenly 4-3 when Vandermeer scored 57 seconds later on a long blast from the point.
Edmonton forward Dustin Penner earned his 100th NHL assist. ... It was the second of four meetings between the teams this season.