The Hurricanes have won five straight over the Thrashers, including four in a row this season, and their last five at Philips Arena.
Cole beat Ondrej Pavelec from about 20 feet out for his 16th goal and the Hurricanes got a much-needed victory despite being outshot 43-17 in the game and 14-4 in the final period.
The Thrashers have lost 12 of 15 (3-8-4) and fell two points behind the Hurricanes in the battle for the eighth and final playoff spot in the Eastern Conference.
Atlanta tied it at 2 on Andrew Ladd's 19th goal and second of the game, beating Cam Ward only 26 seconds into the final period. He took the puck near mid-ice, came in alone and converted a backhander in close, similar to his goal in the second period.
Despite being outshot 20-5 in the second, the Hurricanes took a 2-1 lead on a goal by Joe Corvo with 1:36 left in the period. He sent a shot past Pavelec after passes by Jeff Skinner and Brandon Sutter.
The Thrashers had tied it at 1 on an unassisted goal by Ladd at the 3:20 mark. Ladd took the puck at mid-ice and faked Ward to the ice before tucking a backhander into the net.
Jiri Tlusty had the only goal of the opening period at 9:06. Joni Pitkanen and Sergei Samsonov had assists on Tlusty's fifth goal of the season.
The Hurricanes had lost five of six overall and seven of eight on the road.
NOTES: Atlanta D Dustin Byfuglien saved a potential Carolina goal late in the first period by clearing the puck away about a foot in front of the net. ... The Thrashers narrowly missed a goal early in the second period when Bryan Little's shot hit the post. ... Atlanta recalled F Spencer Machachek from Chicago (AHL) and placed D Freddy Meyer on injured reserve, retroactive to Feb. 3. ... Ward has started 16 straight games.