The Senate voted 52-29 in favour of legalising the drug, paving the way for a fully functioning cannabis market within eight to 12 weeks, according to ABC.
Canadian Prime Minister Justin Trudeau's government had hoped to make cannabis legal by July 1, but its 13 provinces will need eight to 12 weeks following Senate passage and royal assent to prepare for retail sales.
The law makes Canada the second country to have a nationwide, legal marijuana market, after Uruguay.
Justin Trudeau's Liberals had made legalising recreational use of cannabis part of their 2015 election campaign, arguing the new law would keep pot out of the hands of underage users and reduce related crime.
Justin Trudeau. Credit: PA
Mr Trudeau posted on Twitter after the decision saying: "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".
Mr Trudeau's Cabinet is expected to decide a legalisation date in early or mid-September.
According to the MailOnline, each province in Canada is now coming up with rules for the sale of recreational marijuana.
Independent Senator Tony Dean, who sponsored the bill in the upper house, said: "We have seen in the Senate tonight a historic vote that ends 90 years of prohibition of cannabis in this country, 90 years of needless criminalisation, 90 years of a just-say-no approach to drugs that hasn't worked."
Canada is the largest developed country to end a nationwide prohibition on marijuana use.
Justice Minister Jody Wilson-Raybould tweeted that it was a 'historic milestone for progressive policy in Canada as we shift our approach to cannabis'.
While Health Minister Ginette Petitpas Taylor said she was thrilled the Senate approved the bill, saying: "We're on the cusp of a sensible, responsible and equitable cannabis policy."
The Canadian Government largely followed the advice of a marijuana task force which recommended that adults should be allowed to carry up to 30 grams of cannabis and grow up to four plants.
It also said marijuana should not be sold in the same location as alcohol or tobacco.
ABC reported that the most controversial aspect of the process has been setting the minimum age for use at 18 or 19, depending on the province - lower than in US states that have embraced legalisation.
Advocates argued putting the limit at 21 would encourage a black market and drive youths into the hands of criminals.
Featured Image Credit: PA