It was Petersen's first victory of the season with Los Angeles (20-33-5), which hadn't won in regulation since Jan. 9 (5-2 at the Vegas Golden Knights). The Kings are 3-12-1 in their past 16 games.
Petersen was recalled from Ontario of the American Hockey League after goalie Jack Campbell was traded to the Toronto Maple Leafs on Feb. 5.
"I really just wanted to play strong for the guys, start to establish some confidence with me in net, and I think getting this win definitely helps," Petersen said.
WATCH: [All Flames vs. Kings highlights]
Ten forwards had at least one point for Los Angeles, which scored seven goals during its losing streak.
"Throughout the lineup, everybody found a way," Kings coach Todd McLellan said. "Every line almost found a way to get on the scoresheet, so when you can do that and put four [goals] up, you have a really good chance of winning in this league."
Elias Lindholm scored twice and extended his point streak to eight games for Calgary (29-23-6), which had won its previous two games, both on the road. David Rittich made 28 saves.
"At the end of the day, I thought some of the turnovers and things in the neutral zone came back to haunt us," Flames coach Geoff Ward said. "At this time of year, we've got to make sure you get the puck in behind and keep going."
The Kings scored two goals 29 seconds apart in the second period. Tyler Toffoli's 15th of the season tied the game 1-1 at 12:21, and Austin Wagner ended a 22-game goal drought on a 2-on-0 breakaway at 13:00 to make it 2-1.