David Moss scored goals 2:23 apart in the second and Ales Kotalik added the eventual winner in the period's dying moments as the Calgary Flames jumped out to a big lead before holding off the Senators 3-2 on Friday night.
Henrik Karlsson, making just his eighth start of the season, stopped 32 shots for Calgary (19-20-5), which snapped a four-game winless streak. Anton Babchuk assisted on both of Moss' goals.
Nick Foligno, with a goal and an assist, and Milan Michalek scored in the third for the Senators. Brian Elliott made 23 saves and is winless in his last seven starts for Ottawa (17-22-6), which has lost four straight at Scotiabank Place.
"We can't expect to come back from 3-0 when you only have one period," said Foligno. "We didn't get the job done tonight and that really stinks. It's not the way we want to go. We need to regroup here."
Ottawa dropped to a miserable 9-13-2 at home this season.
"I don't know what it is," said Foligno. "We need to play better in front of our fans and use our home atmosphere to gain momentum against other teams. It's obviously frustrating that we don't have a good home record."
After a scoreless first period in which Ottawa carried the play and outshot Calgary 14-8, the Flames took control in second thanks to breakdowns in the Ottawa zone.
Moss's first came after he got behind the Senators defence and deflected a pass over Elliot's shoulder at 5:32.
The Flames winger then doubled the lead at 7:55, taking advantage of another Senators miscue to fire past sprawling Ottawa defenceman Matt Carkner and Elliot.
In his only other visit to Ottawa on March 3, 2009, the Flames winger had a hat-trick in a 6-3 victory.
"I've only played here twice, but it's a good feeling," said Moss. "It was a big win for us. We need the points."
The Senators, who snapped a six-game winless streak with Thursday's 6-4 win against the New York Islanders, had plenty of opportunities to tie the game in the second, but were let down by their power play.
The Flames took three minor penalties in the period but Ottawa failed to capitalize. The Senators have gone 0-for-14 with the man advantage in their last four games.
"I thought we had a pretty good first period and then we dug ourselves a hole in the second," said Ottawa's Mike Fisher. "There's a lot of areas we need to be better, especially on the power play."
Kotalik made it 3-0 with 17 seconds to go in the period, beating Elliott from the blue-line. Jarome Iginla won the draw and Olli Jokinen fed Kotalik, who fired a shot Elliott should have had.
Ottawa came out hard in the third, with Foligno breaking Karlsson's shutout bid scoring at 8:56. Foligno chipped the puck past Flames defenceman Jay Bouwmeester and raced down the wing, firing a shot that handcuffed the Calgary netminder.
"In the third we sat back a little bit," Moss said. "We knew they were going to make a push, but we have to be able to weather that better. (Karlsson) did a good job for us."
The Senators peppered Karlsson in the final minutes and Michalek made it 3-2 with 57.2 seconds remaining in regulation. The winger took a pass from Foligno off the rush and beat Karlsson shortside, but Ottawa would get no closer.