Smyth's fifth goal of the season, and first goal in 14 games, came at 17:22 of the first period and it came by way of a fortunate bounce.
There was a lengthy video review but the goal was upheld.
That was all the offence Dubnyk would need in recording his second shutout of the season and eighth of his career.
Smyth's second goal was into an empty net with six seconds left in regulation time.
Edmonton (13-24-3), which won consecutive games for the first time in over a month, will go for three victories in a row Saturday night when they host the Philadelphia Flyers at Rexall Place.
Calgary (14-18-6) has split the first two games in its five-game home stand. Next up is the Vancouver Canucks on Sunday.
Edmonton moves to within five points of the Flames in the Western Conference standings.
It was the third meeting between the two provincial rivals and the third straight goaltending dual between Dubnyk and Berra. They had split the first two.
Less than three minutes before Smyth's goal, it appeared Calgary had taken the first lead when Mark Giordano pinched in and fired a shot that slipped through the pads of Dubnyk. However, as the Flames celebrated the goal, the cheers from the sell-out crowd of 19,289 quickly turned to boos when it was realized that it was being waved off.
The ruling was that Flames centre Joe Colborne had made incidental contact with Dubnyk prior to the shot, preventing him from being able to make the save.
Six minutes into the third period, Giordano nearly tied the game but had his shot from the point go off Dubnyk's glove and then hit the crossbar.
The Flames were shut out for the second time in its past five games.
Berra had 26 saves to fall to 5-9-2. All five of his wins have come in overtime or a shootout.
Notes: Flames RW Lee Stempniak has no goals in nine games and two in 21 games since returning from a foot injury. He had four goals in 10 games when he got hurt... Edmonton D Andrew Ference played in NHL game No. 800... Neither C Roman Horak or D Martin Marincin, recalled from Oklahoma City on Thursday, were in Edmonton's line-up.