Josh Morrissey, Trevor Lewis, Nikolaj Ehlers and Andrew Copp scored for the Jets (24-13-3), who have only two regulation losses in their last nine games.
Phillip Danault and Paul Byron replied for the Canadiens (17-11-9), who have dropped two straight. Montreal outshot Winnipeg 38-27.
The Jets scored just 18 seconds into the game. Morrissey jumped in on a 3-on-2 rush, took a pass from Mathieu Perreault and sniped it in off the post past a screened Jake Allen.
The Canadiens were quick to answer with Danault knocking in a rebound at 1:40. He converted after Winnipeg netminder Connor Hellebuyck stopped Tomas Tatar down low.
Winnipeg regained the lead at 8:03 after Neal Pionk floated a pass into the goalmouth that the well-covered Lewis was able to redirect with one hand. Ehlers made it a 3-1 game as he sped past Jeff Petry down the wing and beat Allen at 13:07.
The teams played a little tighter in the second period.
Montreal had a great chance to halve the deficit while shorthanded midway through the stanza. Danault stole the puck from Pionk behind the net and fed Artturi Lehkonen but his shot hit the crossbar.
Byron made it a one-goal game moments later after the puck took a strange hop off the boards, leaving Hellebuyck out of position. Byron one-timed it underneath the sprawling netminder at 15:14.
Montreal’s Jonathan Drouin had a great chance in the third period to end his six-week scoring drought. He moved into the slot after a toe drag but couldn’t beat Hellebuyck.
Nick Suzuki took an untimely high-sticking penalty on Mason Appleton late in the third period.
The Canadiens were able to kill off the penalty and pulled Allen with about 90 seconds to go but Copp sealed the win with an empty-netter.
The Jets improved to 15-1-2 when leading after 40 minutes. The teams will face off again Saturday at the Bell Centre.
Notes: Canadiens goaltender Carey Price is not expected to be available until next week due to a lower-body injury.