The teams were deadlocked after three shots each as captains Saku Koivu and Mats Sundin exchanged goals, but the rookie Kostitsyn deked Andrew Raycroft to the forehand and scored the winner. Darcy Tucker was stopped by Jaroslav Halak on Toronto's last shot.
The win lifted Montreal (36-31-6) into a tie with Toronto (34-28-9), which picked up a point in the loss, with 78 points as both are knocking at the door of the eighth and final playoff spot.
The Leafs went into the third period down 2-1, but Pavel Kubina tied it with the teams each a man short when his shot went off Chris Higgins' knee and beat Halak on the glove side at 8:41.
Kyle Wellwood also scored for Toronto, which was coming off a 5-1 loss in Washington on Friday night. Kostitsyn and Koivu also scored in regulation time for Montreal, 6-3 losers in Pittsburgh on Friday.
The sell-out crowd of 21,273 and its usual large contingent of blue-and-white clad Leafs fans created an electric atmosphere to a key match.
On the ice, emotions ran high, with lots of hitting and frequent shoving matches.
But the Leafs started slowly and Montreal grabbed the lead when rookie Kostitsyn used Hal Gill as a screen for a shot off a rush that beat Raycroft at 6:05.
Toronto woke up after a lively scrap between Tucker and Francis Bouillon, a reprise of their battle in the teams' last meet that ended with the Leafs forward on the ice from a one-punch knockdown. This one was a draw.
Wellwood tied it on a power play at 15:01 when he took Bryan McCabe's pass at the side of the net, waited for Halak to go down and slipped in his 10th of the season.
Montreal was outshot 11-6 in the second frame, but got the only goal when Koivu skated out from behind the net and slipped a backhand in through a crowd in front.
The Canadiens hold a 4-2-1 edge over the Leafs this season, with two wins in extra time, but a big match remains in Toronto on the final night of the regular season on April 7.
Sundin remains one goal shy of Darryl Sittler's team record of 389 career goals and two points short of 900 with Toronto. Centre Yanic Perreault needs two points for 500 in his career.
Notes - Tomas Kaberle missed a seventh game for Toronto since his hit against the boards from Cam Janssen, but Kyle Wellwood and Carlo Colaiacovo were back after sitting out a game each. . . Wade Belak, John Pohl and Travis Green were scratched. . . Montreal had Alexei Kovalev back after missing two games with vertigo. Radek Bonk missed a third game with a flu and Alexander Perezhogin a seventh game with a concussion. Sergei Samsonov and Garth Murray were scratched.