With each team having scored once in the shootout, Koivu sped in on Leland Irving and made a sharp move to his forehand to beat the Flames goaltender.
Alex Tanguay was then stopped by the pad of Niklas Backstrom, sending the Flames to their eighth straight shootout defeat.
Kyle Brodziak scored late in the second period for Minnesota.
Jiri Hudler scored early in the third period for Calgary, which opened up a three-game homestand with the first in a stretch of six games in 10 days.
Unhappy with his team after a 5-1 loss to the Vancouver Canucks, Flames coach Bob Hartley changed his lines.
Among the changes, captain Jarome Iginla opened the game on a line with Hudler on left wing and centered by recent AHL callup Ben Street, who was playing his second career game.
By the end of the game, Iginla was back with his regular linemates Tanguay and Curtis Glencross.
Trailing 1-0 after two periods, Calgary tied it 1:28 into the third on a 2-on-1 break. Skating down the right wing, Hudler kept the puck the whole way, firing a low shot from 20 feet that squeezed through the pads of Backstrom.
Minnesota opened the scoring at 18:22 of the second period, taking advantage of a turnover deep in the Flames' zone.
Iginla's attempt to clear the puck along the side boards ricocheted off the skate of Ryan Suter into the slot where Devin Setoguchi quickly passed to Brodziak skating to the net. The Wild center made a nice backhand-to-forehand move to tuck the puck behind Irving.
It was the first goal of the season for Brodziak, who was coming off a season in which the 28-year-old had career highs for goals (22) and points (44). This season has been a struggle for him. Brodziak entered the night with no goals, one assist and his minus-6 was better than only Suter's minus-7.
After a scoreless opening period, Calgary started to get some momentum going when Street wheeled out of the corner six minutes into the second and sent a shot that Backstrom grabbed with his glove.
The Flames got their first power play seconds later and nearly capitalized, but TJ Brodie shot wide with an open net and Mark Giordano sent a shot off the goal post.
With Miikka Kiprusoff out with a lower-body injury, Irving's third consecutive start and 10th career start was also his first appearance at the Scotiabank Saddledome.
He didn't have long to settle his nerves as he was tested in the opening minute by Koivu, who pounced on Tanguay's giveaway but had his close-in shot turned aside by Irving. The 24-year-old goalie finished the game with 23 saves.
Backstrom, who also had 23 saves, entered the night with a 13-9-5 career mark against Calgary in 30 starts, a 1.91 goals-against average and .932 save percentage.
Notes: The Flames face Dallas on Wednesday. ... The Wild departed for Vancouver where they'll play the Canucks on Tuesday. ... Calgary dropped to 6-21 all-time in shootouts at home. ... Calgary D Cory Sarich played after sitting out the past four games. ... It was the first of five meetings between the two clubs, the first three coming in a 16-day span. ... Iginla has 35 goals against Minnesota in 67 career games. The only other team he has scored that many goals against is Colorado, but his 35 goals against the Avalanche have come in 89 games. ... Calgary played its 10th game of the season, the last NHL team to reach that mark.