Hathaway made it 2-0 at 12:21 of the second period, scoring his first of the season off a pass from Mark Jankowski. Dillon Dube and Jankowski forced Marc Staal into a turnover before Jankowski carried the puck through the Rangers' defense and found Hathaway in front of the net.
Hathaway, Dube and Jankowski, who make up the Flames' fourth line, along with defensemen Michael Stone and Juuso Valimaki, kept the puck in the offensive zone for 54 seconds before scoring.
"I think it started with our forecheck," Hathaway said. "That's a big part that we tried focusing on. You see [Jankowski] and [Dube] and how well they work down low, how evasive they are. And then you see the D keep it in and make moves at the blue line and get it to the net. If we keep working like that, it's going to go well."
Gaudreau extended the lead to 3-0 at 14:55 when he made a stop-and-start move to get away from Brady Skjei before beating Lundqvist with a high, stick-side wrist shot from between the hash marks.
The goal was Gaudreau's 300th NHL point (102 goals, 198 assists) in his 320th game. The New Jersey native reached the milestone with his parents, Jane and Guy Gaudreau, in attendance.
"It's a cool accomplishment," Gaudreau said. "Obviously, it makes it better with the team winning when you get an accomplishment like that.
"Hopefully there is many more to come. Hopefully."
Zibanejad cut it to 3-1 with a power-play goal at 6:41 of the third period. After Zibanejad's goal, Rittich made 17 saves before Hathaway scored his second of the game at 18:07 to give the Flames a 4-1 lead.
"To have a guy like that you can rely on to come in and play every three or four games or so and play that well, it's a big part of this team," Hathaway said.