"Just the energy he brings … you can see it right from the first shift," Flames forward Sam Bennett said. "He flies out there. When he's going, I think the rest of our team's going. It's nice to have him back."
WATCH: All Ducks vs. Flames highlights
Bennett, Alex Chiasson and Matt Stajan each had a goal and two assists, and Troy Brouwer, Dougie Hamilton and Sean Monahan also scored for Calgary (13-13-2), which has won three straight games.
"It's special," Gaudreau said. "It's exciting to come back in here and play with the guys. It's a long 10 games when you're watching them play. I think we did a great job. They started the homestand with two huge wins and then we got another one tonight."
Ryan Kesler had two goals, Logan Shaw scored and Jonathan Bernier made 17 saves for the Ducks (12-9-5).
"We can't get down on ourselves," Anaheim forward Antoine Vermette said. "We've got to look forward and turn the page."
Gaudreau scored in the first period, and the Flames scored three goals in a 1:27 span as part of a five-goal second period to take a 6-1 lead.
Brouwer scored on the power play at 11:28 to put the Flames up 2-1, and Chiasson scored at 12:20. Stajan deflected Dennis Wideman's point shot by Bernier at 12:55 make it 4-1.
Bennett scored Calgary's second power-play goal of the period to take a 5-1 lead at 16:37, and Hamilton one-timed Stajan's pass by Bernier's blocker to make it 6-1 at 17:32.
It was the first time the Flames scored five goals in a period since a 6-0 win against the St. Louis Blues on March 1, 2011.
"Everyone was finding the net," Gaudreau said. "Everyone was playing well. Everyone was in the offensive zone. This is good for us. This is fun. It's a fun game to play and be a part of."
Monahan scored 5:34 into the third period to take a 7-1 lead, and Giordano scored at 15:39. The Flames hadn't scored eight goals in a game since an 8-1 win at the Edmonton Oilers on March 22, 2014.
Kesler scored at 16:30 and Shaw scored 20 seconds later on Chad Johnson to make it 8-3.
Gaudreau scored to give the Flames a 1-0 lead 2:09 into the game on his first shift and shot since sustaining his injury against the Minnesota Wild on Nov. 15.
Kesler tied the game 1-1 at 2:50 of the second period.