Arnott, who scored his 299th and 300th NHL goals, had five shots and won 19 faceoffs. He helped wake up the Predators midway through the first period when he set up the first goal with an assist and scored himself 23 seconds later.
"Getting the win was huge for us. Milestones come and go," Arnott said. "We want to make sure we are playing well down the stretch here, especially in our own rink and especially against a good team like Calgary. They've been on a roll. It was a solid game."
Jarome Iginla scored twice and Jeff Friesen added a late goal for Calgary, which wrapped up the final game of a three-game road trip with its first loss in six games. Their frustration showed as they took 10 penalties and gave Nashville a pair of five-on-threes.
"I thought our discipline was not consistently strong enough, and it cost us the hockey game," Calgary coach Jim Playfair said.
The Flames came into the game seventh in the West. They left tied with Dallas and Minnesota with 81 points.
"We were really fully expecting to come in here and play a really good solid road game and get a win," Calgary defenseman Robyn Regehr said. "We just couldn't do it."
This was the Predators' first game at home since Feb. 24, and they looked a little tired from their five-game trip in the opening minutes as the Flames outshot them 4-1.
But Nashville hasn't lost to Calgary since Jan. 22, 2004, and the Predators improved their unbeaten streak in the series to nine straight and the last seven played in Nashville.
Arnott got them started, winning a faceoff to Miikka Kiprusoff's left with the puck going out to Suter, who scored from near the blue line at 11:31 of the first. Arnott scored himself 23 seconds later after J.P. Dumont intercepted the puck and passed to him for a backhander and a 2-0 lead.
Iginla answered in less than a minute with his own backhanded shot that beat Mason's glove hand and trickled toward the line. Nashville defenseman Vitaly Vishnevski then pushed the puck across trying to scoop it away from the line.
Abid added his goal at 9:22 of the second on a wrister from the right circle for a 3-1 lead. Iginla scored his second of the game and 33rd of the season at 16:40. That was as close as the Flames would get.
Calgary helped Nashville put away the victory with two five-on-threes, and Weber scored on slap shots on both. His first came just outside the left circle, and the defenseman scored again at 2:33 of the third 10 seconds after Brad Stuart was called for delay of game.
Arnott padded the margin with a backhander at 7:22 of the third.
This was only Nashville's second win in regulation in the last seven games. Five of those went to shootouts.
"It was funny," Trotz said. "It seemed like the game was real short today."
The Predators improved to 30-1-5 when leading after two periods and 35-8-3 when scoring first. ... Nashville defenseman Kimmo Timonen extended a points streak to seven games with an assist on Weber's second goal. He now has nine points in this streak. Paul Kariya stretched his points streak to four games with an assist on the same goal. ... Iginla has now scored in three straight for Calgary with six points. ... Sullivan missed his seventh straight game.