The 36-year-old Modano, a native of Livonia, Mich., notched his 501st career goal in the first period, then assisted on rookie Junior Lessard's power-play goal later in the frame to help the Stars improve to 16-5-4 in their last 25 games.

Modano became the 39th player in NHL history to reach 500 goals on Tuesday night.

The Stars had a scare with 8:40 left in the second when Modano was checked hard to the ice by defenceman Dion Phaneuf. Modano was trying to take possession of a lead pass at the Calgary blue-line and was down for about a minute after the hit. Modano appeared to be woozy but was back for his next shift.

Modano missed 23 straight games in December and January with a hip injury, but has returned to form with five goals in seven games to give him 16 for the season.

Dallas is 31-13-3 this season with Modano in the lineup.

Niklas Hagman added a power-play goal for Dallas and Sergei Zubov had two assists in his 1,000th NHL game. Marty Turco made 30 saves, including a key stop on a breakaway by Calgary's top scorer Jerome Iginla midway through the second period.

Jere Lehtinen's empty-net goal with 50 seconds left - his team-high 25th goal of the season - gave Dallas a 4-2 edge.

Matthew Lombardi had a goal, and Alex Tanguay added a power-play rebound for his 20th with 2:50 left for the Flames, 1-3-1 in their last five games.