Kenton Helgesen and Jaynen Rissling also scored for Calgary (35-15-6), while Brady Brassart picked up two assists.
Bolton Pouliot stopped 28 of 31 shots for Kamloops (11-40-5), who have now dropped nine straight games.
The Hitmen were 2 for 8 on the power play while Kamloops failed to score on two chances with the man advantage.
BRONCOS 6 WARRIORS 3
MOOSE JAW, Sask. — Jay Merkley scored two goals to lift the Broncos over the Warriors.
Graham Black scored once and assisted on three for Swift Current (27-21-8), while Brett Lernout, Colby Cave and Cavin Leth also scored.
Jack Rodewald scored a goal and added an assist for Moose Jaw (14-32-8), and Josh Ulrich and Brayden Point rounded out the Warriors' offence.
Swift Current's Eetu Laurikainen made 23 saves for the win. Zach Sawchenko stopped 39 saves as his team was outshot 45-26.
RAIDERS 3 TIGERS 2
PRINCE ALBERT, Sask. — Josh Morrissey's 19th goal of the season, scored at 3:11 of the third period, held up as the winner as the Raiders edged the Tigers.
Sawyer Lang and Chance Braid also scored for Prince Albert (25-26-3), while Morrissey added an assist.
Markus Eisenschmid and Trevor Cox scored for Medicine Hat (32-20-3).
Cole Cheveldave turned aside 27 shots to pick up the victory while Marek Langhamer made 19 saves in the losing effort.
PATS 7 BLADES 3
REGINA — Kyle Burroughs and Dmitry Sinitsyn had a goal and two assists apiece to lead the Pats over the Blades.
Boston Leier, Chandler Stephenson, Braden Christoffer, Dyson Stevenson and Jesse Zgraggen had a goal and an assist each for Regina (28-22-5), who outshot the Blades 62-25.
Cameron Hebig, Austin Adamson, and Chase Clayton scored for Saskatoon (15-39-4), who was held to four shots on goal in the third period.
Regina goaltender Daniel Wapple made 22 saves in the win. Troy Trombley kicked aside 55 shots in the losing effort.
ICE 4 HURRICANES 2
CRANBROOK, B.C. — Mackenzie Skapski made 32 saves and Sam Reinhart had a goal and two assists to lead the Ice over the Hurricanes.
Jagger Dirk had a goal and an assist, and Luke Philp and Rinat Valiev also scored for Kootenay (30-21-4), who had 55 penalty minutes on 13 infractions, including a game misconduct to Landon Peel.
Lethbridge (11-41-5) scored both its goals on the power play, the first from Reid Duke and the second from Riley Sheen. Jamal Watson and Brady Ramsay were given game misconducts as the Hurricanes tacked on 57 minutes on 13 penalties.
Teagan Sacher made 30 saves in the loss.
WINTERHAWKS 5 SILVERTIPS 3
PORTLAND, Ore. — Taylor Leier scored twice and Corbin Boes stopped 26 shots as the Winterhawks topped the Silvertips.
Nicolas Petan and Alex Schoenborn had a goal and an assist apiece for Portland (38-12-5), who outshot the Silvertips 41-29. Layne Viveiros added the other Winterhawks goal and Oliver Bjorkstrand chipped in with two assists.
Ben Betker, Brayden Low, and Kohl Bauml scored for Everett (26-21-8).
Austin Lotz turned away 36 shots for the Silvertips.
COUGARS 7 REBELS 1
PRINCE GEORGE, B.C. — Troy Bourke scored two goals and assisted on two more as the Cougars dominated the Rebels.
Brad Morrison had two goals and one assist, Todd Fiddler scored twice, and Zach Pochiro also scored for Prince George (24-26-7), who outshot the Rebels 41-18.
Aspen Sterzer was the lone goal scorer for Red Deer (27-25-4).
Cougars goalie Adam Beukeboom stopped 17 shots for the victory. Aust Lotz made 36 saves for Everett.
OIL KINGS 5 GIANTS 1
VANCOUVER — Tristan Jarry needed to make only 15 saves to secure Edmonton's 11th straight win.
Brett Pollock, Edgars Kulda and Curtis Lazar had a goal and an assist apiece, and Brandon Ralph and Dysin Mayo also scored for the Oil Kings (40-13-1), who outshot the Giants 27-16.
Foster Thomas replied for Vancouver (27-21-9) with a short-handed goal at 14:18 of the first period.
Giants goalie Payton Lee stopped 22 shots in the losing effort.
ROYALS 6 ROCKETS 4
KELOWNA, B.C. — Steven Hodges scored two goals and Coleman Vollrath made 30 saves to lift the Royals over the Rockets.
Alex Blomqvist scored a goal and added an assist, and Jordan Fransoo, Logan Nelson and Austin Carroll also scored for Victoria (38-16-4), who inched closer to the B.C. division-leading Rockets in the standings.
Tyson Baillie scored a goal and assisted on two more, Nick Merkley had a goal and an assist, and Tyrell Gouldbourne and Colton Heffley also scored as Kelowna (43-9-4) failed to pick up at least one point for the first time in 10 games.
Jordan Cooke turned aside 37 shots in the losing effort.
CHIEFS 7 AMERICANS 3
KENNEWICK, Wash. — Eric Williams made 31 saves and the Chiefs got help from seven different goal scorers as they downed Tri-City.
Keanu Yamamoto and Dominc Zwerger had a goal and an assist apiece for Spokane (32-18-5), and Marcus Messier, Adam Helewka, Carter Proft, Mike Aviani and Colton Bobyk also scored.
Beau McCue, Brian Williams and Braden Purtill replied for Tri-City (26-24-5), who was 2 for 5 on the power play.
Americans goalie Eric Comrie stopped 21 shots and held the Chiefs scoreless on three power-play opportunities in the losing effort.