The 30-year-old has spent his entire career in Naples despite regularly being linked with a move away, but he will finally say goodbye to his hometown club when his contract expires in June.
Winger Insigne has signed a four-year deal, which will begin on 1 July, after agreeing to move to Toronto as a designated player.
The Italy international has played 412 games for Napoli, scoring 113 goals and registering 88 assists, and was a key part of Roberto Mancini's side that won UEFA Euro 2020 last year, scoring two goals in six games
Toronto president Bill Manning said: “This is a historic and exciting day for our club.
"Lorenzo is a world-class attacking player in the prime of his career. He was a European champion with Italy and has performed on the biggest stages during his club career with Napoli.
"Lorenzo has the talent to change games. He plays the game with joy and passion, and our fans and supporters are going to love watching him as a member of our team."
Insigne will become the second big-name Italian to play for Toronto, following in the footsteps of Sebastian Giovinco, who joined the Canadian side from Juventus in 2015.
The club's head coach and sporting director Bob Bradley said it was a move they had been hoping to make for "many years", stating: "We are all looking forward to having Lorenzo join us this summer.
"His ability to create chances for himself and his teammates is special. Having watched him for many years, I also know he's also a player who works for the team.
"Lorenzo is the kind of player you come to watch because there's always a chance he'll do something unforgettable."