The team announced the deal Friday morning.
A source told ESPN.com that the deal will be a $3.6 million average yearly hit to the Maple Leafs' salary cap.
Schenn, a first-round draft pick by the Leafs in 2008, No. 5 overall, had five goals and 17 assists last season. Toronto opens training camp Friday.
"There's no point stressing over it. I want to be here in Toronto," Schenn told the Toronto Star earlier this week. "There's never been any thought in my mind that it (contract) wouldn't get done."
Schenn, 21, played all 82 games last season. He led the league among defensemen with 251 hits and led the team with 168 blocked shots.
Pierre LeBrun covers the NHL for ESPN.com.