Havlat's late game heroics spoiled what looked destined to be a shutout for Miikka Kiprusoff and a fitting end to a night in which Flames goaltending great Mike Vernon had his No. 30 retired. Instead, Kiprusoff saw his shootout record drop to a surprising 1-10, including 0-3 this season.
Calgary led 2-0 until the final four minutes of the game, when three straight minor penalties the Flames led to a pair of power-play goals by Havlat to tie the game.
On a two-man advantage, Havlat's long shot from the point beat Kiprusoff at 17:17 to make it 2-1. With goaltender Nikolai Khabibulin pulled for an extra skater, the Blackhawks tied it with 28 seconds left when Havlat banged home a rebound.
The shootout ended quickly with Havlat scoring to put the Blackhawks in control after Kristian Huselius had missed the net with his attempt.
After Alex Tanguay was stopped by Nikolai Khabibulin, Chicago's Jeff Hamilton clinched it on a deke.
Jeff Friesen and Huselius scored in regulation for Calgary (29-17-7), which failed to pick up a point for the first time in eight games.
The Blackhawks (20-26-7), meanwhile, improved to 2-1 on their season-high seven game road trip.
Friesen opened the scoring at 15:57 of the second period. Taking a pass from Marcus Nilson behind the net, he whipped a shot into the top corner over the outstretched glove of Khabibulin.
After registering just one goal and three assists in the first 41 games, Friesen has matched that output in the last four games by putting together a modest four-game point streak.
Leading 1-0 headed to the third period, Calgary doubled its lead at 4:08 on the power play when Huselius came off the side boards and fired a shot from the top of the faceoff circle through a crowd and past Khabibulin.
Huselius now has a 13-game (9 goals, 10 assists) point streak, tying him with Washington's Alexander Ovechkin for the longest streak of the season.
The night began with the ceremony honouring Vernon, who is the second Flames player to have his number retired.
It lasted 47 minutes and might have put a damper on the early part of the game. Both teams started very sluggish.
Notes: The one shot for Chicago in the first period tied a franchise record for fewest shots in a period, previously done six times including a month ago versus Detroit . . . Calgary has twice in history surrendered no shots in a period . . . Chicago RW Peter Bondra was a healthy scratch . . . Calgary forwards Alex Tanguay (23.4) and Kristian Huselius (22.3) entered the night ranked second and third in shooting percentage. The leader is Pittsburgh rookie Jordan Staal (25.0) . . . At plus-11, Flames defenceman Mark Giordano is second amongst rookies in plus/minus.