TORONTO -- Sean Monahan and Elias Lindholm scored 55 seconds apart in the third period, and the Calgary Flames hung on for a 3-1 win against the Toronto Maple Leafs at Scotiabank Arena on Monday.
It was Toronto's first game without center Auston Matthews, who is out at least four weeks with a left-shoulder injury.
Mike Smith made 24 saves for Calgary (6-5-1), which had lost three games in a row.
[WATCH: All Flames vs. Maple Leafs highlights]
"I thought we worked hard, we had a good start to the game, which we haven't had in some of our past games," Monahan said. "We stepped it up, and we have to start earning wins by ourselves. I think tonight was a big win for us, and we have to keep that rolling."
The Flames allowed 15 goals during their losing streak, which included a 9-1 loss to the Pittsburgh Penguins on Oct. 25.
"It's probably the best defensively, the best game we've played all season," Smith said. "Last game (a 4-3 shootout loss to the Washington Capitals on Oct. 27), we were close, but tonight we even built on that. There's a standard now set, and I think we realize the difference between Pittsburgh and tonight, and we just have to keep pushing forward now."
Video: CGY@TOR: Lindholm finishes tic-tac-toe passing play
Frederik Andersen made 31 saves for the Maple Leafs (8-4-0), who had won two in a row and were 7-2-0 in their previous nine games.
"I think just all around we didn't play very well," center John Tavares said. "We just didn't execute and just got away from some of the things we do well. They came out hard, ready to play and took advantage of our mistakes."
The Flames outshot the Maple Leafs 12-4 in the first period and 24-15 through the second.
"I thought we were great defensively," Calgary captain Mark Giordano said. "Honestly, they're a great team, we know what they've been doing all year, but they had one good shift in the second at the end, and until they got those power plays late, I think we were doing a good job of shutting them down."
Asked whether it was their best defensive game, Flames coach Bill Peters said, "I agree with that, but I thought we were pretty tight against Washington too. Both these teams, Washington and Toronto, have a lot of high-end skill, so if you're not structured and committed to playing away from the puck and doing it right, they can hurt you and hurt you in a hurry.
"So if our group can wrap their head around the fact that we've got to check and be proud about the way we play in our defensive zone, I think we have a chance to be real good."
Monahan gave the Flames a 1-0 lead on the power play at 5:39 of the third when he scored from the slot on the rebound of a Lindholm shot.
Lindholm one-timed a pass from Johnny Gaudreau in the slot to put Calgary up 2-0 at 6:34. It was his third goal in four games.
The Maple Leafs had a 5-on-3 power play for 1:09 beginning at 14:57 when Giordano was called for interference, and Nazem Kadri scored to make it 2-1 at 16:07, one second after Matthew Tkachuk's holding penalty ended. Kadri put in a cross-crease pass from Mitchell Marner at the side of the net for his third goal in as many games.
Video: CGY@TOR: Kadri nets power-play goal in 500th game
Michael Frolik scored into an empty net with six seconds left for the 3-1 final score.
Matthews was injured in a 3-2 win against the Winnipeg Jets on Saturday. He leads Toronto in goals (10) and is tied with Marner for most points (16).
They said it
"I guess just the character (of the team). Obviously, you lose 9-1 and get booed out of your own rink, that's embarrassing, so to bounce back like we did against Washington -- even though we lost in a shootout, but I think it was a good game, a good start -- and now to come here and get two points, it's huge." -- Flames forward Sean Monahan on their improvement since a 9-1 loss to the Penguins on Oct. 25
Video: CGY@TOR: Monahan breaks scoreless tie with PPG
"They were a lot better than us tonight, we didn't deserve to win that game. We'll just call that a wash, move on, and worry about the next one. Their gaps were great -- right on top of our guys coming through the neutral zone -- just seemed like a pain in the [butt] every time. They made it tough on us and certainly congested the neutral-zone area. That was the difference." -- Maple Leafs center Nazem Kadri
Need to know
Lindholm had a game-high six shots on goal. … Kadri played his 500th NHL game. He has 320 points (148 goals, 172 assists), all with the Maple Leafs. … It was defenseman Morgan Rielly's 400th NHL game, all with Toronto. … Marner's assist extended his point streak to four games (five assists).
Flames: At the Buffalo Sabres on Tuesday (7 p.m. ET; MSG-B, SNF, NHL.TV)
Maple Leafs: Host the Dallas Stars on Thursday (7 p.m. ET; TSN4, FS-SW, NHL.TV)
Video: Monahan, Lindholm lead Flames past Maple Leafs