Carey Price stopped 26 shots for Montreal, redeeming himself following a less than stellar performance during a 5-4 overtime win in Game 1.
A second road victory in three nights sends the Canadiens home with a 2-0 lead in the best-of-seven series. Game 3 is Sunday.
MORE: Howard shuts out Bruins | Ducks take 2-0 series lead
Bourque and Desharnais scored in the second period after defensive breakdowns left Tampa Bay goaltender Anders Lindback in tough situations. Gallagher made it 3-0 with an unassisted goal in the third period.
Bourque added his second goal at 14:39 of the third, rebounding his own shot before skating around the back of the net to beat backup goalie Kristers Gudlevskis.
Price lost his bid for a shutout when Teddy Purcell scored for Tampa Bay with less than two minutes remaining.
PHOTOS: Must-see playoff scenes
The Canadiens went 0 for 23 on the power play over their last eight games of the regular season and were 0 for 17 in five meetings with the Lightning before finally breaking through when Desharnais slipped the puck past Lindback for his first career playoff goal and a 1-0 lead.
P.K. Subban assisted on the goal, and then got another assist when Bourque took a pass from Thomas Vanek, split two defenders and skated in alone on Lindback to make it 2-0 at 10:35 of the second.
Lindback, filling in for the injured Ben Bishop, was lifted after Gallagher scored from the right circle at 11:46 of the third. Less than three minutes later, Montreal eliminated any prospect for a Lightning comeback when Bourque got his fifth career playoff goal in 12 games.
The Canadiens outshot the Lightning 44-25 in Game 1 and recovered after Price failed to protect a pair of third-period leads, taking the opener on Dale Weise's first career playoff goal.
MORE: Playoff scoreboard, schedule
Tampa Bay felt it played tentative in Game 1 and tried to put more pressure on Price from the start Friday. The Lightning got off three shots in the first minute and finished the opening period with 11 — five fewer than they attempted against Price during regulation in the previous game.
Lindback, meanwhile, made two nice saves — rejecting Canadiens captain Brian Gionta on a breakaway with his right leg five minutes into the game and using his glove to deny Max Pacioretty late in the period. The 6-foot-6 goaltender stopped 20 of 23 shots before being pulled.
Montreal won Game 1 despite not getting a strong performance from Price, who vowed the Canadiens would play better defensively after allowing four goals Wednesday night.
Tampa Bay failed to even get a shot off during a second-period power-play opportunity, and Price made a couple of pad saves and got some help from the post during a sequence that afforded the Lightning a chance to get back in the game.