J.T. Brown and Brett Connolly also scored for the Lightning (26-12-4), who have won six of seven to move past the Canadiens (26-12-2) into first place in the Atlantic Division and Eastern Conference with 56 points.
Tampa Bay was swept by Montreal in the Eastern Conference First Round of the 2014 Stanley Cup Playoffs.
"I think that gets a little overhyped, to be honest," Lightning captain Steven Stamkos said. "That was last year; this is a new year, new teams, new players. I think when we get back into the playoffs, which I hope we do, hopefully we remember what it felt like to be swept. But I don't think anyone was thinking about that."
Tampa Bay has won the two games between the teams this season, outscoring Montreal 11-3.
"We played solid games both times we played them," Johnson said. "It's a full 60-minute effort. Everyone contributed, everyone worked hard, and they're a good team and you can't take a night off against them. Luckily for us the last two games have been pretty good in our favor."
Montreal, which lost 7-1 at Tampa Bay on Oct. 13, had not allowed two goals in a game since a 3-1 loss at the Dallas Stars on Dec. 6.
"We didn't play 60 minutes, that's all there is to it," Canadiens forward Max Pacioretty said. "We didn't compete hard for half the game and we don't really know why. Obviously if we had answers to that then it wouldn't have happened."
Brown helped Tampa Bay tie the game 1-1 with his second goal at 3:17 of the second period. Price stopped Jonathan Drouin's shot from the right side but left a rebound at his feet for Brown, who scored on a backhand from the goalmouth.
Drouin, the Lightning's first-round selection (No. 3) in the 2013 NHL Draft, had 15 people at the game, his first in Montreal.
"The atmosphere was great," Drouin said. "I had goose bumps the first shift. We're happy with the win and I'm happy with the way I played. I'll remember that one for a long time."
P.K. Subban got his second penalty of the game at 10:23 of the second when he was called for slashing while he was on the Montreal bench. The Canadiens defenseman stood and walked over to reach around the partition separating the two benches and poked at Connolly with his stick after the Lightning forward became entangled with Montreal's Andrei Markov in the Tampa Bay doorway.
"I let my frustration get the best of me," Subban said. "[Markov] is my partner and obviously I want to stand up for him, but you can't do that in a 1-1 game, so it's probably something that I want to take back for sure. I probably should have just minded my own business. I'm on the bench, I shouldn't be getting involved any way, but sometimes that's what happens when emotions get the best of you."
Connolly, who hobbled to the bench after blocking a shot by Markov, was in so much pain at the time he was still unaware after the game about why Montreal had been penalized.
"I have no idea," Connolly said. "I just lifted my head up for a second and I saw Markov with the puck, he just chipped it in and you want to finish your check, so I did that and then I got off the ice. I was more worried about my foot than anything else."
Johnson gave Tampa Bay a 2-1 lead with a power-play goal at 10:42. The Lightning forward had a hard time handling a cross-ice return pass from Kucherov on the right side but managed to put the rebound off his stick out of the air and past Price.
Connolly increased the lead to 3-1 when he finished a 4-on-2 rush at 18:16 for his eighth goal on a pass from Valtteri Filppula, who played his 600th NHL game.
Johnson scored the Lightning's second power-play goal of the game with 21.7 seconds left in the period to make it 4-1.
Pacioretty drew Montreal within two with his team-leading 17th goal at 5:01 of the third period.
Markov drove a slap shot from the left point that struck both posts on Montreal's first power-play after Connolly was sent off for hooking at 1:53. The goal light came on but referee Chris Rooney correctly ruled the puck never entered the net.
Filppula had a shorthanded chance on a breakaway later in the same penalty. His backhand between Price's legs struck the Montreal goalie's right pad and caromed wide of the right post.
Weise was on the edge of the crease when he redirected Tomas Plekanec's sharp pass from the right faceoff circle past Bishop at 15:07 of the first period.
Montreal was 16-0-0 when scoring the first goal of the game.
"We played really well, and that's a good team," Stamkos said. "I think the stat was that they were 16-0-0 when they scored first, so it was nice to break that, but most importantly it was two points. I thought we played well, two big goals by the power play, which was nice to see. That's a big win for us."