Watson and Matt Halischuk scored 1:23 apart in the third period to lead the Predators to a 4-3 win on Tuesday night.
"We won the game. We haven't won for a while, so we weren't quite sure what to do," Nashville coach Barry Trotz joked. "The guys have been working hard and they are not getting rewarded. Tonight it was good to get rewarded."
Roman Cervenka scored two goals, and T.J. Brodie had the other goal for Calgary, which had a three-game winning streak snapped.
Brodie gave the Flames a 1-0 lead at 5:59 of the first period.
With the teams skating 4-on-4, Brodie had the puck at the top of the right circle and made a toe-drag move to the faceoff dot. He then fired a wrist shot that beat goalie Pekka Rinne on the far side.
Legwand tied it at 14:39 of the first when he got to a rebound of Weber's slap shot from the top of the right circle.
"It has been four or five games since I got one, so it was nice to get it here," Legwand said of his 200th.
Legwand, Nashville's first draft pick, has played all 892 NHL games with the Predators.
Filip Forsberg earned the second assist on Legwand's goal. It was the 18-year-old rookie's first NHL point.
Calgary regained the lead at 7:06 of the second on a goal by Cervenka.
Approaching the Nashville blue line, Cervenka corralled a bouncing pass off the stick of Sven Baertschi and slipped behind the Predators defence. In the low slot, he fired a wrist shot past Rinne high to the stick side.
Spaling tied it at 2 at 18:31 of the second with a power-play goal, deflecting Weber's wrist shot from the right point past goalie Miikka Kiprusoff.
"It was some mistakes and they used it," Kiprusoff said. "It was a close game, but they were the better team."
Early in the third, Watson and Halischuk scored at 3:17 and 4:40 to give the Predators control of the game.
Watson, recalled earlier in the day from Milwaukee of the AHL, scored his first NHL goal.
"It is something you dream about, and it is even better than the dreams when it finally does happen," Watson said.
The Flames were outshot 32-18 in the game and 22-9 over the last two periods.
"I think we worked hard," Flames coach Bob Hartley said. "I would've liked us to put more pucks at the net than we did. I felt that we passed on shots and opportunities that we could have put pucks on the net rather than trying a pass in the high slot.
"They took advantage of this to create outnumbered situations on us."
Cervenka's second of the game came at 15:10 of the third when he scored on a redirection of Chris Butler's shot from the left point.
Butler and Baertschi had a pair of assists for Calgary.
NOTES: Nashville D Hal Gill played in his 1,100th NHL game. ... The Predators are 5-21-4 this season when their opponent scores first. ... Baertschi has a career-high, six-game point streak. ... The Flames will close out this season with two more games against Central Division opponents: road games at St. Louis and Chicago on Thursday and Friday.