Chris Kreider, Beckett Sennecke and Jacob Trouba scored for the Ducks (22-21-3), who went 0-8-1 during their skid and won for the first time since Dec. 20, a 4-3 victory against the Columbus Blue Jackets. Anaheim had allowed at least five goals in each of its previous five games and seven of its past eight.
Leo Carlsson missed the game with a lower-body injury, Cutter Gauthier sat out with an illness, and Troy Terry missed his third straight game with an upper-body injury. All three participated in the morning skate on Tuesday.
Roope Hintz scored, and Casey DeSmith made 22 saves for the Stars (27-11-9), who were coming off a 3-1 win at the Los Angeles Kings on Monday to give them points in three straight (2-0-1).
Dallas played without one of its top defensemen, Miro Heiskanen, who missed his first game of the season because of a personal matter.
The Stars took their timeout at 2:27 of the second period before starting a 17-second 5-on-3, but four seconds into the two-man advantage Jason Robertson was called for hooking.
Both teams were skating 4-on-4 when the Stars were called for another penalty while the Ducks had possession of the puck. Dostal left the ice for an extra skater and Kreider gave the Ducks a 1-0 lead at 3:36 after coming on, receiving a pass from Mikael Granlund and scoring with a snap shot from above the right hash marks.
Sennecke extended it to 2-0 at 12:03 of the third period when he retrieved a loose puck behind the Dallas net, pulled it out front and scored with a backhand while falling down to the ice.
Hintz cut it to 2-1 at 17:48 with DeSmith pulled for the extra skater, scoring on a one-timer from the inside edge of the right circle.
Trouba then scored into an empty net with 21 seconds left for the 3-1 final.