Ribeiro tucked a power-play rebound by Phoenix goaltender Mikael Tellqvist for his 13th goal of the season as Dallas improved to 5-1 in its past six games.
The Stars are fighting for playoff position in the Western Conference as they face a stretch of five road games in a six-game span starting Wednesday night in Los Angeles.
Dallas survived despite taking three penalties in the last seven minutes of regulation, two in a 46-second span.
"As the game kept going, we created more chances and we found a way to win," Ribeiro said. "We took a few penalties there at the end, but we came back. We have to take that as a lesson. We can't take penalties like that in the playoffs and expect to win."
Sergei Zubov gave the Stars a 4-3 lead with 4:24 remaining in regulation, scoring his 11th of the season from the right circle.
But Shane Doan tied it at 4 with 1:33 left in regulation while the Coyotes had a 5-on-3. Phoenix pulled Tellqvist to add a sixth attacker.
Modano became the leading U.S.-born goal scorer in a 3-2 defeat at Nashville on Saturday night, and he came close twice in the first period against Phoenix, hitting the post and the crossbar with shots. Modano surpassed Joe Mullen with his 502nd and 503rd career goals, and he entered Sunday night's game with five goals in his previous four games.
Despite earning two points, Stars coach Dave Tippett wasn't happy with his team's effort.
"There are nights when you find ways to win and nights when you find ways to lose," Tippett said. "Tonight it looked like we were going to find a way to lose."
The Coyotes have 60 points, the fewest in the Western Conference, and they also played on Saturday night, losing to the Colorado Avalanche 6-3.
"Getting in at four in the morning, it was a tough night and a tough game yesterday," Coyotes coach Wayne Gretzky said. "And yet they battled through. I'm very proud of how our team played tonight."
Rookie backup goalie Mike Smith got the start for Dallas, giving up three goals on the first 10 shots. When former Star Tjarnqvist's deflection gave the Coyotes a 3-2 lead at 5:38 of the second period, Tippett replaced Smith with Marty Turco, his top goalie.
Ribeiro tied it at 3 at 5:25 of the third period when he worked his way to the net for his 12th goal of the season.
Phoenix had a chance to go ahead with 7:05 left in regulation when Doan was awarded a penalty shot, but Turco made a glove save.
Doan, who hit the crossbar with a shot early in overtime, was in the penalty box when Ribeiro scored his game-winner.
"You feel responsible when you get a penalty shot with seven minutes left and you don't score on it, and take a not-very-smart penalty and they score on it," Doan said.
Sjostrom scored his eighth of the season at 3:41 of the first period on the Coyotes' first shot on goal.
Morrow got the Stars even at 1 at 5:33 of the opening period, scoring his 11th of the season and first since Dec. 21.
"The goal early took a little of the pressure off," Morrow said. "We didn't want to be sitting here six or seven games deep wondering if I'd get my scoring touch back."
Hagman banked in a shot off the pads of Tellqvist at 15:05 of the first period for Hagman's 17th of the season to put the Stars in front 2-1.
Phoenix tied it at 2 at 3:14 of the second period on Morris' power-play slap shot, and the Coyotes took a 3-2 lead 2:24 later on Tjarnqvist's fifth goal.
- C Eric Lindros (groin) and RW Chris Conner (lower body) missed the game for Dallas.
- The Stars also were without D Stephane Robidas, who was knocked unconscious when he was punched by Nashville's Jordin Tootoo late in the third period on Saturday night. Robidas was carried off the ice on a stretcher and was taken to a local hospital. He had a concussion but accompanied the team on the flight back to Dallas. Robidas will have tests on Monday and is day-to-day.
- LW Ladislav Nagy (facial laceration), D Mattias Norstrom (knee) and Jeff Halpern (foot) were back in the Stars' lineup.
- The Coyotes are 1-4-1 against the Stars this season.
- The Stars held pregame ceremonies honoring Zubov, who played in his 1,000th NHL game on Thursday night.