Tyler Bozak fed Kessel in front at 14:01 of the third period for his third goal of the night and 30th of the season to give the Leafs a 4-3 lead. The goal leaves Kessel alone in second among NHL goal scorers.
Bozak then added an insurance marker at 18:27, one timing a Kessel feed past Craig Anderson for his 11th of the season. Nazem Kadri added an empty netter with 28 seconds remaining. Joffrey Lupul had the other Toronto goal.
Toronto's (30-21-6) home ice win streak is its longest since the Leafs concluded the 2006-07 season with 10 straight. The Leafs have won five straight over Ottawa.
Kessel gave Toronto its first lead of the game at 7:34 of the third period on a power play, beating Anderson top corner with a wrist shot from the top of the face-off circle for his 29th of the season.
Cody Franson picked up his 100th career assist on the goal.
Toronto's lead was short-lived as less than two minutes later, Neil tied it 3-3 at 9:06 jamming home a loose puck. The play was reviewed before it was determined the puck just inched over the goal line for Neil's eighth of the season.
Anderson made 32 saves while Jonathan Bernier made 23 saves in the win.
Ottawa had a 2-0 lead midway through the second period and had an excellent chance take a three-goal lead near the 11 minute mark as Erik Karlsson beat Bernier with a shot glove-side, but hit the post.
Toronto cut Ottawa's lead in half two minutes later as Kessel put home a James van Riemsdyk feed.
The Leafs completed the comeback at 14:39 of the middle frame on a questionable play. Kadri hit Senators defenceman Cody Ceci from behind and then centred the loose puck to Lupul for his 17th. Despite the Ottawa protest and the referees discussing amongst themselves, there was no penalty on the play.
Ottawa took a 2-0 lead at 6:46 of the middle frame as Greening finished off a 2-on-1 feed from Neil for his fifth of the season.
Toronto had back-to-back first period power play opportunities courtesy of consecutive Cory Conacher minor penalties, but had just two shots to show for it.
Neil opened the scoring at 19:07 of the first using Leafs defenceman Morgan Rielly as a screen and beating Bernier glove-side for his seventh of the season and first in 12 games.
Ottawa continues its three-game road trip Monday in Pittsburgh before concluding it in St. Louis on Tuesday.
Toronto heads out on its final road trip prior to the Olympic break visiting Florida on Tuesday and Tampa Bay on Thursday.
Notes: Leafs forward Carter Ashton missed Saturday's game with a hand injury. … Peter Holland sat out his first game with what Toronto coach Randy Carlyle called a lace bite. … Toronto's Frazer McLaren, who missed eight games with a shoulder injury, returned to the lineup for the first time since Jan. 14. … Senators forward Cory Conacher played in his 100th career NHL game Saturday. … Ottawa defenceman, Chris Phillips missed his third straight game with a lower body injury. … Referee Paul Devorski became the fifth official to ever work his 1,500th NHL game Saturday night.