It is thought retail sales could begin before the end of the year
Canada is to become only the second country to have a legal nationwide cannabis market after a landmark government bill was passed by the Senate there.
The Cannabis Act sailed through by a vote of 52 to 29 on Tuesday, allowing for the drug to become available for recreational use as soon as the cabinet decides on a final date.
It is expected to be decided upon by mid-September, meaning retail sales could begin before the end of the year.
Until now, only Uruguay had made the cultivation, distribution and consumption of marijuana legal, with the government there having sought to wrest the business from criminals.
Canadian Prime Minister Justin Trudeau is hoping legalising the drug will have a similarly positive impact in Canada, where marijuana can already be used for medicinal purposes.
"It's been too easy for our kids to get marijuana - and for criminals to reap the profits," he said on Twitter.
"Today, we change that. Our plan to legalise and regulate marijuana just passed the Senate. #PromiseKept."
It’s been too easy for our kids to get marijuana - and for criminals to reap the profits. Today, we change that. Our plan to legalize & regulate marijuana just passed the Senate. #PromiseKept— Justin Trudeau (@JustinTrudeau) June 20, 2018
Mr Trudeau had hoped to make cannabis available at retail by July 1st, but provincial and territorial governments need eight to 12 weeks from senate passage to prepare.
Once sales get up and running, Canada will become the first G7 industrialised country to have a legal nationwide cannabis market.
In the US, it is only allowed in the states of Colorado, Washington, Oregon, Alaska, California, Massachusetts, Maine and Nevada.
Other countries - including Australia, Germany and Norway - only allow it to be used for medicinal purposes, while in many parts of the world it is entirely illegal.
It comes as former Conservative leader in Britain, William Hague, suggested the UK should also legalise the drug.