Roman Horak and Brian McGrattan each scored and Roman Cervenka added an empty-net goal for the Flames, who close with a four-game road trip beginning Sunday in Minnesota.
Corey Perry scored for the Ducks, ending Kiprusoff's bid for his 45th shutout with 3:41 remaining when he buried a shot inside the far goal post from 20 feet out on a setup from Kyle Palmieri.
Anaheim leads the Pacific Division by five points over Los Angeles and San Jose. All teams have four games remaining.
Although Kiprusoff has one year remaining on his contract, it drops to $1.5 million next year and there has been rampant speculation that the 36-year-old will call it a career—but he has refused to comment on the topic.
At the trade deadline, the Toronto Maple Leafs pursued a trade for Kiprusoff and after getting permission to talk with him, the goalie cited family reasons for not waiving his no-trade clause.
If Kiprusoff does retire, he left the sellout crowd of 19,289 with a great final home performance. Following up on a spectacular 36-save effort Wednesday night in a 3-2 win over Detroit, he was again in top form against the Ducks.
Calgary will miss the playoffs for a fourth season in a row.
In the second period, Kiprusoff kept the game 1-0 when he jabbed out a glove and stabbed a dangerous shot off the stick of Perry. In the third, Ryan Getzlaf moved into the slot, and from a similar distance was again thwarted as Kiprusoff whipped up his blocker to deflect the puck away for one of his 14 saves in the period.
With just over two minutes to go, and after Kiprusoff sprawled to get the paddle of his stick on Perry's dangerous chance at the side of the net, the crowd broke into chants of "Kipper, Kipper."
When the goalie was shown on the video board seconds later, the entire crowd rose to their feet and remained standing for the remainder of the game, chanting his name, right through to the end.
With the game puck in his glove, Kiprusoff saluted the crowd after the final buzzer with a waving of his stick at center ice.
McGrattan made it 2-0 on a great individual effort 3:14 into the third. The rugged winger tipped the puck through the skates of the Francois Beauchemin and got loose down the wing, taking the puck to the net and slipping a backhand through the pads of Jonas Hiller.
It was the third goal of the season for McGrattan, a career high. He entered the season with three goals in 212 games.
Horak put the Flames in front 2:45 into the second period. Lee Stempniak's shot from the side boards hit the side of the net and caromed out front, where Horak was left untouched and fired the puck between Hiller's pads.
The highlight of an otherwise lifeless first period was Flames center Mikael Backlund dropping the gloves and fighting with Ben Lovejoy after the Ducks defenseman caught Curtis Glencross with an ugly knee-on-knee hit.
Glencross left the ice on his own but did not return with what was reported as a left knee injury.
Notes: Calgary D Dennis Wideman (finger) and LW Steve Begin (upper body) did not play. ... Out of the lineup for Anaheim were RW Teemu Selanne (upper body) and G Viktor Fasth (upper body). ... It was Kiprusoff's 306th career start at the Saddledome. His record is 187-82-36 with 27 shutouts. ... After posting a .921 mark last season, Kiprusoff entered the night with a .877 save percentage, which ranks him 49th, ahead of only Florida's Scott Clemmensen (.874). The worst of the past 10 years belongs to Andrew Raycroft (.879) with Boston in 2005-06.