Dube tied it 1-1 at 14:47, redirecting Noah Hanifin's point shot on a power play.
Toffoli put the Flames ahead 2-1 at 5:55 of the second period with a wrist shot under Sogaard's glove from the left face-off dot.
"We had chances throughout the entire game to essentially put them away, and we didn't," Toffoli said. "We let them hang around. They're a team with a lot of skill and can do what they did."
Dube made it 3-1 at 6:40 of the third period when he redirected a pass from Toffoli five-hole on Sogaard.
"I thought we dominated the game," Sutter said. "I thought we totally dominated puck possession. Whether it's the next goal or the next save, I thought we were in total control of the game."
The Flames had outshot the Senators 36-21 prior to Batherson's goal.
"It's tough," Calgary forward Mikael Backlund said. "We played a really good game for 56 minutes, 57 minutes or so, and then we let it get out of our hands."
NOTES: Dube has 33 points (15 goals, 18 assists) in 54 games this season, an NHL career high. … The Senators set a franchise record for latest multigoal comeback victory. … Tkachuk scored his 111th NHL goal, the second-most by a player age 23 or younger in Ottawa history, behind Marian Hossa (135).