Colorado will retain 50 percent of Barrie's average annual value ($5.5 million) as part of the trade.
The 27-year-old Barrie played 78 games for the Avalanche during the 2018-19 season and had 14 goals and 59 points, which was seventh among NHL defensemen.
In 484 regular-season games, all with Colorado, Barrie has 75 goals and 307 points. Barrie was drafted by Colorado in the third round (64th overall) in 2009.
Kerfoot, 24, appeared in 78 games for the Avalanche in 2018-19 and had 15 goals and 42 points. He is an arbitration-eligible restricted free agent, finishing a two-year, entry-level deal with a cap hit of $925,000 that he signed after playing at Harvard.
Kerfoot was selected by New Jersey in the fifth round (150th overall) in 2012 and signed an entry-level contract with Colorado in August 2017.
Kadri, 28, had spent his entire career with Toronto after being selected seventh overall in 2009.
He had 161 goals and 357 points in 561 regular-season games, including back-to-back, 30-goal seasons in 2016-17 and 2017-18.
"Nazem is a proven goal scorer and a fierce competitor who plays in all situations," Avalanche general manager Joe Sakic said. "He is under contract for the next three seasons and will immediately fit right in as our second-line center and improve our scoring depth."
Rosen, 25, has split the past two seasons in the Toronto organization between the Leafs and American Hockey League's Marlies.
Rosen, signed by Toronto as a free agent in May 2017, has had one goal and one assist in eight NHL games. He spent parts of five seasons playing professionally in his native Sweden before joining the Leafs.
"Calle is a young defenseman with upside who has played in the AHL and has also seen some NHL time over the last two years," Sakic said.
"With the arrival and emergence of (defensemen) Samuel Girard and Cale Makar, as well as the recent draft pick of Bowen Byram, we felt it was time to move in this direction with Tyson's contract expiring next summer."
Earlier in the day, the Maple Leafs signed veteran center Jason Spezza to a one-year, $700,000 contract.
The 36-year-old is expected to fill a role for a young, talent-filled team that has lost to the Boston Bruins in the opening round of the playoffs the past two springs.
Spezza has had 332 goals and 915 points in 1,065 career regular-season games with Ottawa and the Dallas Stars. He's also added 70 points (25 goals, 45 assists) in 80 playoff games.
Toronto also made a trade about three hours before free agency opened, shipping defenseman Nikita Zaitsev and forward Connor Brown to the Ottawa Senators for defenseman Cody Ceci in a six-player deal that should help the salary cap-squeezed Leafs in their efforts to sign restricted free-agent winger Mitch Marner.
Zaitsev was on the books for $4.5 million for the next five years, while Brown is scheduled to make $2.1 million in 2019-20. Ceci, an RFA with arbitration rights, made $4.3 million last season and can become an unrestricted free agent next summer.