Mike Zigomanis tied it midway through the third period and Perrault added his third goal in two games for the Coyotes, who won consecutive games for the first time this season.
"I think we're trying to get some momentum," said Perrault, who was signed by Phoenix as a free agent on Oct. 30. "Every game is tough. Tonight we had to come from behind again. We're taking one at a time and trying to win some games and trying to close the gap and get closer to the playoff race."
After Joseph stopped Radim Vrbata with a pad save, Perrault faked goalie Brian Boucher to the ice and fired the puck into the top of the net. Jeff Hamilton evened the shootout, also shooting high over Joseph.
But Nagy beat Boucher, his former Coyotes teammate, with a sharp wrist shot low to the stick side, and Joseph made a pad save on Michael Holmqvist's forehand attempt to secure the win.
"I played with Boosh almost for two years and we played so many breakaways after practice so I knew what to do," Nagy said. "If he was down I would put a little move on the backhand, but he was standing so I had a lot of room."
Phoenix tied it with 11:19 remaining when Georges Laraque worked the puck free in the right circle and fed a pass to Zigomanis in the low slot.
"We made one mistake in the second period and it led to their second goal," Chicago coach Trent Yawney said. "If you're going to win games on the road that can't happen."
Joseph kept Phoenix in the game during Chicago's late two-man advantage. Fredrik Sjostrom was whistled for cross-checking and Coyotes coach Wayne Gretzky was given an unsportsmanlike conduct penalty for arguing the original call.
"That was my fault," Gretzky said. "I got on the referee when I shouldn't have but the players bailed me out."
Joseph stopped seven shots, and Hamilton bounced an eighth attempt off the left post before Phoenix cleared the puck for the first time with 2 seconds left in the power play.
"That was the game for us," Joseph said. "Our penalty kill has been much improved and it won the game for us."
Boucher smothered a late Phoenix bid for the lead, lunging back for a glove save just short of the goal line.
The Coyotes had a power play in overtime, but Boucher stopped three shots. He made 25 saves overall, while Joseph stopped 32 shots.
"This was a game I certainly wanted and it was in my hands," Boucher said. "I think we're trying to play right now to keep ourselves in hockey games by playing well defensively. It may be a low-scoring affair, there may be some games where it gets our of hands, but our penalty kill has been good lately and it's kept the scores down."
- Chicago is 0-2 in shootouts this season.
- The Coyotes played their first overtime game of the season.
- Nolan has 34 points in 33 career games against Chicago.
- Phoenix C Jeremy Roenick played in his 1,200th NHL game.
- Coyotes LW Mike Ricci was assigned to San Antonio of the AHL on a rehab assignment and will make his debut Friday in Hartford.