Brady Brassart and Cody Sylvester each had a goal and an assist for the Hitmen (23-7-4) and Jake Virtanen and Elliott Peterson had a goal apiece.
Jesse Lees and Madison Bowey scored for the Rockets (23-10-2), who had their six-game winning streak halted.
Chris Driedger stopped 22 shots for the win as Jackson Whistle made 16 saves for Kelowna before leaving after the second period because of a leg injury he suffered midway through that period. Back-up goaltender Jake Morrissey, a 15-year-old affiliated player from the Calgary Royals AAA Midgets, played the third and stopped 7-of-10 shots in relief.
Calgary went 1 for 7 on the power play while Kelowna went 1 for 6.