Phoenix, one victory short of its longest winning streak this season, leads the Pacific Division with 71 points.
"We found just enough to win, and do what we had to do for the two points," coach Dave Tippett said. "I would like for us to protect the puck better, but getting the two points was very important."
The Coyotes came back from a 3-2 deficit. Lauri Korpikoski tied it with less than 5 minutes left in the second and Hanzal scored the deciding goal with 26 seconds remaining in the period.
"Guys came through with the game on the line," Yandle said. "Yes, we were down by a goal, but everyone came together and we managed to pull it out."
Atlanta fell to 1-5-1 in its last seven games. The Trashers continue to drop in the Eastern Conference, and still have games at Edmonton and Buffalo before returning home.
"Seems like it's the same story every game," said Rich Peverley, who helped the Atlanta effort with a goal and two assists. "There's an intangible that's missing, and we need to figure out what that may be. We keep losing games, and losing points."
Phoenix goalie Ilya Bryzgalov, who allowed an average of 1.15 goals in his previous five games, yielded more than two for the first time since giving up five against Vancouver on Feb. 2. But he improved his season mark to 25-14-6.
After the Coyotes' Mikkel Boedker was whistled for hooking just more than 3 minutes into the game, Phoenix struck short-handed. On a 2-on-1, Eric Belanger converted a pass from Korpikoski into his seventh goal of the season, and the Coyotes' fifth short-handed tally of the season.
Beaten on the 2-on-1 was Dustin Byfuglien, playing his first game since signing a five-year, $26 million contract with Atlanta.
The Thrashers quickly responded on the same penalty 1:12 later. Chris Thorburn managed to get the puck past Bryzgalov in a goal mouth scramble for his seventh power-play goal of the season. That tied Byfuglien for the team lead.
Phoenix recaptured the lead when captain Shane Doan took a rebound off the back boards and beat Ondrej Pavelec at 11:37 of the opening period.
For the second time, the Thrashers tied the game on a power play. Taking a perfect drop pass from Peverley, captain Andrew Ladd fired in a wrist shot at 4:10 of the middle period.
The Thrashers took the lead at 9:29 of the second when Peverley's wrist shot hit the back of the net. The goal was his 14th but only his second in his last 13 games.
Phoenix tied it at 3 with Korpikoski's goal at 15:44 of the second. Hanzal's 13th of the season gave the Coyotes a 4-3 lead going into the final period.
Though the Thrashers outshot Phoenix 11-8 in the final period, they couldn't get the tying goal.
"Our composure level is not where it needs to be," Atlanta coach Craig Ramsey said. "We're putting the puck on net, and sooner or later it's bound to go in."
Coyotes D Ed Jovanovski left in the second period with a lower-body injury and did not return. ... Ladd's power-play score was his third goal in the last two games, and a team-high 20th of the season. ... Adrian Aucoin and Taylor Pyatt (both lower back injuries) were Phoenix scratches. ... By scoring in the first period, Doan extended his points streak to three games. ... It was the third time Yandle has compiled three points in a game this season.
Copyright by STATS LLC and The Associated Press
Arena: Gila River Arena Location: Glendale, Arizona
Referees: Gord Dwyer, Brad Meier Linesmen: Andy McElman, Vaughan Rody
Attendance: 10,576 (61.8% full)
Team Stat Comparison
Power Play Goals
Power Play Opportunities
Shots on Goal
Eric Belanger (8)
(Shorthanded) Assist: Lauri Korpikoski
Chris Thorburn (7)
(Power Play) Assists: Tobias Enstrom, Rich Peverley
Shane Doan (12)
Assists: Derek Morris, Keith Yandle
Andrew Ladd (20)
(Power Play) Assists: Rich Peverley, Dustin Byfuglien
Rich Peverley (14)
Assists: Tobias Enstrom, Evander Kane
Lauri Korpikoski (12)
Assist: Keith Yandle
Martin Hanzal (13)
Assists: Ray Whitney, Keith Yandle