The Coyotes (23-16-4) trailed 2-1 before Christian Dvorak, Richardson and Carl Soderberg scored in less than eight minutes. Antti Raanta made 27 saves for Arizona, which won two straight for the first time since Dec. 3 and 5.
"Coach Rick Tocchet] said after the second that you've got to believe you can win this hockey game, and we did," Dvorak said. "We came out flying there in the third, and I think that was one of our better periods."
***[WATCH: [All Ducks vs. Coyotes highlights]*
John Gibson made 30 saves for the Ducks (16-20-5), who have lost three straight and are 2-5-1 in their past eight.
"You're going into the third with the lead against one of the leading teams in our (Pacific) Division and you're in a great spot, you're really happy being in that position," Anaheim defenseman Michael del Zotto said. "Then you give up that that first one and it just seemed we're on our heels, and they just kept coming and kept their foot on the gas."
All 12 Coyotes forwards had a point, the second time in Arizona/Phoenix/Winnipeg Jets history that happened. The first was on March 25, 1987, when the Winnipeg Jets did so in a 10-1 win against the Calgary Flames.
"We've got a lot of depth on this team and it was a big night for all four lines," Dvorak said.
Dvorak scored 26 seconds into the third to tie it 2-2. Coyotes forward Taylor Hall couldn't handle Conor Garland's centering pass, but the puck deflected to Dvorak.
"I liked our response with the first shift (of the period), that was a big goal," Tocchet said. "You've just got to stick with the system, and stick with it we did."