MONTREAL -- Ryan Johansen scored late in the third period to give the Columbus Blue Jackets a 3-2 victory over the Canadiens on Thursday, ending Montreal's three-game winning streak.

Derek MacKenzie and Brandon Dubinsky also scored for Columbus (36-27-6), while Sergei Bobrovsky made 25 saves.

Bobrovsky, last season's Vezina Trophy winner, has started the last 16 games for the Blue Jackets and 23 of their last 24.

Brendan Gallagher and Thomas Vanek scored for the Canadiens (38-26-7) while Carey Price stopped 40 shots.

Johansen made rookie defenceman Jarred Tinordi pay for a giveaway at the Canadiens' blue-line. Johansen intercepted a weak pass and beat Price on a partial breakaway for his team-leading 27th goal of the year at 16:59 of the third period.

The Blue Jackets have now collected 15 out of a possible 20 points in their last 10 games (7-2-1). Columbus is holding on to the last wild card spot in the Eastern Conference, and will likely be in a tight playoff race until the end of the season.

Gallagher turned his stick into a baseball bat in the first, hitting a puck out of mid-air at 14:53 to give the Canadiens the 1-0 lead. After an initial save, Gallagher took a swing at a waist-high puck, which floated above the net, landed on Bobrovsky chest and trickled past the goal-line.

Columbus wasted no time finding their equalizer, scoring exactly one minute after the Canadiens. With the youngster Johansen in the box for cross checking, MacKenzie scored a short-handed goal right off the faceoff.

The Blue Jackets are now tied for third in the league with nine short-handed goals on the season.

The visitors took the lead at 6:53 of the second when Dubinsky put his 14th of the year past an off-balance Price.

After the Canadiens killed off three straight minor penalties to start the third, Vanek made it 2-2 at 7:46 with a slapshot from the face off circle to Bobrovsky's right.

Columbus finished 0 for 8 on the power play.

The Blue Jackets are fighting to make the playoffs for only the second time in the franchise's 14-year history. In 2009, Columbus was eliminated by the Detroit Red Wings in the Western Conference quarter-finals.

Notes: Brandon Prust (upper-body injury) was not in the lineup for the Canadiens. Prust was hurt in Tuesday's 6-3 win against the Colorado Avalanche. Ryan White got the start in his place. a RJ Umberger was a healthy scratch for the Blue Jackets. Rene Bourque and Douglas Murray sat out for the Canadiens. a Max Pacioretty hasn't scored in seven games, his longest goal drought since November. He's two goals shy of 100 with the Canadiens. a The Montreal Impact's Marco Di Vaio, Patrice Bernier and Justin Mapp were in attendance.