James Reimer made 32 stops and Warren Foegele scored twice and the Carolina Hurricanes ended Calgary's seven-game winning streak with a 4-0 victory over the Flames on Saturday.

It's the second shutout of the season for Reimer, who has won five of his past six starts and improved to 7-5-0 on the season.

The 31-year-old was at his best in the first and third periods. He kept the game scoreless in the opening 20 minutes, despite Calgary holding a 12-4 edge in shots. When the Flames pressed in the third period, fueled by four power plays in the final 11 minutes, he once again stood tall.

Carolina Hurricanes' Warren Foegele, center, gets caught between Calgary Flames goalie David Rittich, left, and Flames' T. J. Brodie during second-period NHL hockey game action in Calgary, Alberta, Saturday, Dec. 14, 2019. (Jeff McIntoshThe Canadian Press via AP)

Carolina Hurricanes' Warren Foegele, center, gets caught between Calgary Flames goalie David Rittich, left, and Flames' T. J. Brodie during second-period NHL hockey game action in Calgary, Alberta, Saturday, Dec. 14, 2019. (Jeff McIntoshThe Canadian Press via AP)

Brock McGinn and Dougie Hamilton also scored for Carolina, which has points in five straight (4-0-1). The Hurricanes' five-game road trip will continue Tuesday in Winnipeg.

Calgary lost for the first time since Geoff Ward took over from Bill Peters behind the bench. The 57-year-old had won his first six games after being named interim head coach on Nov. 29, matching Mario Tremblay (1995-96 Montreal Canadiens) for the longest win streak by a coach after taking over midseason.

David Rittich had 27 stops for the Flames.

Carolina Hurricanes' Brett Pesce, center, gets the puck away from Calgary Flames' Johnny Gaudreau, left, in front of Hurricanes goalie James Reimer during third-period NHL hockey game action in Calgary, Alberta, Saturday, Dec. 14, 2019. (Jeff McIntoshThe Canadian Press via AP)

Carolina Hurricanes' Brett Pesce, center, gets the puck away from Calgary Flames' Johnny Gaudreau, left, in front of Hurricanes goalie James Reimer during third-period NHL hockey game action in Calgary, Alberta, Saturday, Dec. 14, 2019. (Jeff McIntoshThe Canadian Press via AP)

The first goal of the game came just past the 12-minute mark of the second period.

Mark Jankowski mishandled the puck trying to leave the Calgary end, enabling the Hurricanes to tag up and go back on the attack with Julien Gauthier — on a strong play along the boards — knocking the puck over to Jordan Martinook, who subsequently set up McGinn for his third goal of the season.

The Flames challenged the goal for offside, but video review confirmed the call on the ice was correct and Calgary was assessed a delay of game penalty. The Hurricanes power play entered the game 5 for 11 in their previous three games, and stayed hot.

Carolina Hurricanes' Ryan Dzingel (18) tries to get the puck past Calgary Flames goalie David Rittich during second-period NHL hockey game action in Calgary, Alberta, Saturday, Dec. 14, 2019. (Jeff McIntoshThe Canadian Press via AP)

Carolina Hurricanes' Ryan Dzingel (18) tries to get the puck past Calgary Flames goalie David Rittich during second-period NHL hockey game action in Calgary, Alberta, Saturday, Dec. 14, 2019. (Jeff McIntoshThe Canadian Press via AP)

Just over a minute into the man advantage, Hamilton took a shot from the faceoff dot that went in off Rittich's glove for his 12th goal of the season.

Foegele put the game away with a short-handed goal at 15:05 of the third. After his first shot hit Mark Giordano in the skate, he buried the rebound. Foegele added an empty-netter with 3 seconds remaining.

NOTES: Flames D TJ Brodie played in his 600th game. He's the 10th player in franchise history to reach that milestone... Hamilton has 30 goals since the start of the 2018-19 season, which leads all defensemen... The Hurricanes will practice in Banff, Alberta., on Monday, before playing in Winnipeg on Tuesday.

Carolina Hurricanes' Teuvo Teravainen, right, looks on as Calgary Flames goalie David Rittich (33) deflects the puck during first-period NHL hockey game action in Calgary, Alberta, Saturday, Dec. 14, 2019. (Jeff McIntoshThe Canadian Press via AP)

Carolina Hurricanes' Teuvo Teravainen, right, looks on as Calgary Flames goalie David Rittich (33) deflects the puck during first-period NHL hockey game action in Calgary, Alberta, Saturday, Dec. 14, 2019. (Jeff McIntoshThe Canadian Press via AP)

UP NEXT:

Hurricanes: At Winnipeg on Tuesday night.

Flames: Host Pittsburgh on Tuesday night.

More AP NHL: https://apnews.com/NHL and https://twitter.com/AP_Sports