Modano hadn't scored since the season-opener. Abdelkader made only his second appearance of the season, skating on the third line in place of Jiri Hudler, who was a healthy scratch for the second consecutive game.
The Flames opened the scoring on a four-on-three with 4:02 remaining in the first period. Mark Giordano one-timed a shot from the top of the left faceoff circle past Detroit goalie Jimmy Howard to make it 1-0.
Modano tied the game just 1:54 into the second. Danny Cleary fought off two Flames in the neutral zone to get the puck to Modano, who raced in alone and snapped a shot from the left faceoff dot past Miikka Kiprusoff's glove.
Abdelkader scored a similar goal with 7:55 remaining in the period. Pavel Datsyuk gained the zone and dealt the puck to a rushing Abdelkader, who moved up to the left side of the slot and snapped a shot past Kiprusoff on the glove side.
Jimmy Howard made 16 saves on 17 shots in his first game back after missing two with back spasms. Kiprusoff stopped 31 of Detroit's 33 shots.
Calgary's goal was the only power play goal of the night. The Flames had seven tries with the extra attacker, including a four-minute power play in the game's closing minutes. The Red Wings also had seven power plays.
Detroit will be back in action on Friday when they visit the Edmonton Oilers.