Subban scored 23 seconds into the extra period as his shot trickled through Craig Anderson's legs.
Trailing 4-3 the Canadiens caught a break on the tying goal midway through the third. Plekanec broke in alone and while Anderson made the initial save, defenceman Jared Cowen watched in horror as the puck went in off his skate.
Two goals in 84 seconds late in the second allowed Ottawa to grab its first lead of the game.
A great pass by MacArthur allowed Turris to beat Price over the shoulder sending the 19,217 on hand into a frenzy and give the Senators a 4-3 lead.
Trailing 3-2 to start the second, Ottawa outshot the Canadiens 19-10 in the second and tied the game on the 37th shot as Ryan beat Price with a wrist shot.
Minutes earlier Price had made outstanding saves on Ryan and Mark Stone.
The Canadiens got off to a quick start taking a 3-0 lead early in the first, but with two late first-period goals the Senators were able to make a game of it.
Plekanec opened the scoring with a short-handed goal on Montreal's first shot. Pacioretty made it 2-0 with a power-play goal at the 14-minute mark as he roofed it over Anderson's shoulder and just over one minute later Desharnais made it 3-0 as he was allowed to walk in alone and drew Anderson out to have a wide open net.
The Senators comeback started at the 17-minute mark as Karlsson found MacArthur in the middle who then tipped a shot through Price's legs.
Just over a minute later Karlsson scored his 11th of the season off a pass from Jason Spezza to draw the Senators within one.
Notes: D Patrick Wiercioch and D Joe Corvo were a healthy scratch for the Senators. RW Chris Neil was a late scratch, he has missed the last six games with a lower body injury. Matt Kassian took his place in the lineup. D Francis Bouillon was a healthy scratch for the Canadiens. Montreal is playing the first of a four-game road trip.