The vote now moves the legislation back to the country’s Senate, which had already approved a version of the bill.
While a number of American states have legalised adult use of marijuana, Canada would break new ground in lifting a prohibition nationwide. The substance is still banned under federal law in the US.
Prime minister Justin Trudeau has vowed to forge ahead with the legalisation effort despite resistance from conservative legislators and calls to delay a vote to allow further study.
“We have been talking about this since well before we formed government”, Mr Trudeau told reporters last month.
“We have been working with our partners across the country to make this happen and we are going to be moving forward this summer on the legalisation of cannabis.”An earlier version of the bill cleared the Senate despite warnings from conservative members that authorising marijuana would lead to a cascade of unintended consequences.
“Legalisation should be a last resort if incremental approaches to address cannabis-related harms fail,” Senator Judith Seidman said earlier this month. “Instead, the government has chosen to conduct a grand experiment on the Canadian public, an experiment that cannot be undone.”