The 35-year-old has scored 142 goals in 342 games in Serie A and spent the last four years with Bologna after a career which also saw him feature for Juventus, Parma, Genoa and Lazio among others.
Di Vaio joins the club under MLS's designated player rule which was created to allow for high-earning overseas players, such as David Beckham, to come into the league and be paid mostly from outside of the team's salary cap.
"I have accepted with great enthusiasm the challenge of joining an enticing championship like MLS. I am extremely eager to make the entire club proud from the president to its supporters," Di Vaio, who made 14 appearances for the Italian national team, said in a statement released by the club.
Di Vaio, who also played for Valencia in Spain and Monaco in the French league, will link up with another former Parma and Italy player in defender Matteo Ferrari.
He could also form an all-Italian strike partnership with ex-Chievo Verona and Lazio forward Bernardo Corradi, who joined Montreal in March as they entered MLS as an expansion franchise.
Montreal are currently eighth in the Eastern Conference with three wins from their opening 12 games.