Selanne registered his 19th career three-goal game – his first since March 29, 2001. That one came against the Ducks when he played for the San Jose Sharks.
Ilya Bryzgalov stopped 17 shots for the Ducks, who had one victory in their previous six games (1-4-1) after getting off to a franchise-best 28-5-6 start.
Scott Niedermayer and Joe DiPenta added goals for the Ducks, whose 67 points lead the Western Conference despite their recent slump.
Niklas Hagman scored for the injury-depleted Stars, 1-4-1 in their last six games.
With the game tied 1-1 late in the second, Dallas defenceman Philippe Boucher received a five-minute major and a game misconduct for boarding Anaheim rookie Bjorn Melin, who left with a bloody mouth and did not return.
Anaheim scored twice on the ensuing five-minute power play to take control.