The race was one of three, along with Brazil and Germany, which was subject to confirmation on the provisional 2017 calendar.
Formula 1 bosses wanted the circuit in Montreal to undergo improvements.
But the city's mayor Denis Coderre confirmed on Twitter: "There will be a Grand Prix of Canada in 2017."
Next year's race will celebrate 50 years of Formula 1 in Canada.
"Montreal and Circuit Gilles Villeneuve produce one of the most exciting grands prix of the season," said Francois Dumontier, president of race promoters Octane Racing Group.
"In 2017, everyone will have even more good reasons to be there."
Octane have the rights to promote the race from 2015 to 2024.
Subscribe to the BBC Sport newsletter to get our pick of news, features and video sent to your inbox.
The Canadian Grand Prix will go ahead in June after organisers agreed a deal with the sport's commercial rights holders.