The 30-year-old defenseman scored 19 points (four goals, 15 assists) in 64 games with the Calgary Flames last season. He missed five games in November after experiencing a medical episode.
Brodie scored four points (one goal, three assists) in 10 Stanley Cup Playoff games.
"They're a great team," Brodie said. "Playing against them this year, they're fast, skilled. They're tough to play against and I just hope to add to that, whether that's moving the puck or just in the defensive zone. I'm pretty much up for anything and want to contribute and make them better."
Selected by Calgary in the fourth round (No. 114) of the 2008 NHL Draft, Brodie has 266 points (48 goals, 218 assists) in 634 regular-season games and 15 points (four goals, 11 assists) in 30 playoff games.
"TJ has been on our radar for a long time," Maple Leafs general manager Kyle Dubas said. "We continued to watch him this year and we felt he had another good season with Calgary. [He] just fits the needs that we feel we have on the back end, the ability to play on the right side, where he's thrived throughout his career. He can play alongside Morgan [Rielly], or Jake [Muzzin], whatever (Maple Leafs coach) Sheldon [Keefe] feels is best and whatever the best fits are."