Turner Stevenson iced the game with an empty-net goal with 13.7 seconds to play.
Chuck Kobasew scored a power-play goal for the Flames, whose three-game losing streak matches its season high.
Elias’ game winner and 25th goal of the season came less than two minutes after the Devils outshot the Flames 3-0 during a major penalty against defenseman Colin White.
Kiprusoff never had a chance on Elias’ second goal, scored on a play in which all five Devils’ skaters touched the puck. Defenseman David Hall sent a pass to Scott Niedermayer, who poked it ahead to Jamie Langenbrunner. His cross-ice pass went to Gomez, who sent a pass across the crease to a wide-open Elias for a tap-in at 16:06.
The goal was Elias’ fifth in three games.
Kobasew tied it 1-1 at 5:09 of the second period with a rebound of Steve Reinprecht’s shot. Toni Lydman set up the play with a nifty move at the blue line to keep the puck in the zone and then get a shot on goal.
Elias disputed the call and got a penalty for unsportsmanlike conduct. The Flames did not take advantage of that penalty, either.
The line of Elias, Gomez and Brian Gionta has been outstanding since being reunited recently by coach Pat Burns. It has combined for 12 goals and 16 assists in six games.
Kiprusoff also didn’t have a chance on Elias’ goal 4:48 in as Elias took a pass from Niedermayer and rifled a shot from the right circle into the upperleft corner of the net.
Former Devils player Krzysztof Oliwa and Grant Marshall exchanged major blows in a first-period fight. … Calgary ends its five-game road trip (1-3) at Colorado on Tuesday. … Reinprecht got his 100th career assist on Kobasew’sgoal. … The Flames have scored five goals in four games.