Alex DeBrincat had a goal and two assists, and Larkin and Andrew Copp each had a goal and an assist for Detroit (27-15-4), which is 14-4-2 in its past 20 games and leads the Atlantic Division with 58 points, one ahead of the Tampa Bay Lightning, and two ahead of the Canadiens.
"Every win, especially divisional wins, are important, so bank as many points as you can," Larkin said. "And who knows what the magic number is with how the [Eastern Conference] is this year? We know that it's not going to be smooth sailing the whole way, so bank as many points now and build our team game."
Jacob Fowler made 20 saves for Montreal (25-14-6), which was shut out for the third time this season and had won three straight.
"Some nights you get the bounces, some nights you don't," Fowler said. "And credit to them, they worked hard, they played a good game and any lapse they had, their goalie made a big save."
Lucas Raymond gave the Red Wings a 1-0 lead at 4:52 of the second period. He shot into an open net when the puck took an odd bounce out front from the left corner after Fowler went behind to play James van Riemsdyk's dump-in along the boards.
"It's nice when the bounces are going your way," van Riemsdyk said. "I thought it was just a good team win. Other than a couple of mistakes here and there, I thought we played a pretty solid game overall."
Said Fowler: "It's hard. You want to make every save you can for your team and I thought I was seeing the puck pretty well. I thought I was controlling the game well and it [stinks] to kind of take the wind out of the team's sails like that. It [stinks] to learn the hard way but it's part of learning the game a little bit better."
Larkin's power-play goal at 11:43 made it 2-0 when he scored off a face-off win after the Canadiens were penalized for too many men at 11:37. He snapped a low shot past Fowler from the top of the left face-off circle off a feed from DeBrincat after a pass from Moritz Seider following Larkin's face-off win.