The 38-year-old, who has been with the Canadian side since their foundation in 2012, scored 142 goals in 342 Italian Serie A matches with Lazio, Bari, Salernitana, Parma, Juventus, Genoa and Bologna.
"After a 20-year career, I am pleased to announce that I will be retiring in Montreal as a member of the Impact," Di Vaio said in a statement released today.
"I am very proud of what I've accomplished over two decades as a pro. It was a dream of mine to play at the highest level and I will look to make the best of my final month as a player."
Di Vaio began his career in 1995 with Lazio, and won 14 caps for Italy, scoring twice.