CALGARY, Alberta -- The team in last place in the West tripped up the conference leaders Monday night.
Campbell earned his first win since Feb. 5 for the Kings, who won't qualify for the postseason.
"Winning three games in a row now, coming into Calgary with the team they have and getting a win to start the road trip, that's exciting and that's some good hockey right there," Campbell said.
"We've got to keep that going. If we play like this, it'll be a fun however many games we have left."
Flames goaltender Mike Smith made 18 saves.
Calgary (47-22-7) held on to the top spot in the Pacific Division.
Kings defenseman Drew Doughty was booed whenever he touched the puck at the Saddledome. He told Sportsnet earlier in the day he had "no respect" for Flames forward Matthew Tkachuk. The players have history dating to Tkachuk elbowing Doughty in the head two years ago. Tkachuk served a two-game suspension for the hit.
Doughty and Tkachuk tangled early in the third period, with Doughty taking a slashing penalty.
After a scoreless second period, Kings center Brodzinski beat Smith with a wrist shot from the top of the circle at 11:51 of the third for a 2-0 lead.
Calgary trailed 1-0 after two periods despite outshooting the Kings 31-14.
"You need everything clicking at this time of the year if you want to have success," Flames head coach Bill Peters said.
"I don't think we were overly-impressed with our own execution. I thought we could have executed with the puck allowing us to play faster.
"We gave up one early and ended up chasing the game."
Los Angeles ended the first period and opened the second with a two-man advantage, but failed to score.
Forbort threaded a soft wrist shot through traffic and beat Smith on the glove side 57 seconds after the opening faceoff.
"They have crazy talented players and their power-play, I thought we eliminated a lot of their high-end chances because we won some draws and cleared the puck," Campbell said.
"When you do that, they'll get frustrated."
Los Angeles laid 22 hits to Calgary's 11 and kept Flames shots to the perimeter, where Campbell could see them.
"Obviously, Jack was incredible for us and made some big saves at key moments that kept us in the game," Kings defenseman Dion Phaneuf said.
"But we wanted to come in and play a good road game against a very good team. They're where they're at in the standings for a reason.
"They're a deep team, a fast team, they play with structure. I thought we did a really good job tonight and we deserved the win."
A healthy scratch in three of the last four Kings games, forward Ilya Kovalchuk did not accompany the team on their three-game road swing through Calgary, Edmonton and Vancouver. ... Kings coach Willie Desjardins dressed seven defensemen and 11 forwards for Monday's game. ... Flames forward Sam Bennett was scratched with an upper-body injury. ... Kings forward Kyle Clifford of Ayr, Ontario, played his 600th career game.
Kings: At Edmonton on Tuesday.
Flames: Host the Dallas Stars on Wednesday.
More AP NHL: https://apnews.com/NHL and https://twitter.com/AP-Sports