MP Svend Robinson was celebrating Wednesday after the House of Commons voted in favour of his private member's bill to extend hate-crimes protection to gays and lesbians.
Bill C-250 passed by a vote of 143-110.
INDEPTH: Same-sex rights
"It's been a good week for equality in Canada," the openly gay Robinson said.
The vote came just a day after MPs narrowly defeated an Alliance Party motion to maintain the traditional definition of marriage an attempt to derail the government's plan to allow same-sex marriages.
The hate crimes law already makes it illegal to incite hatred against an identifiable group based on colour, race, religion or ethnicity, but not sexual orientation.
Opponents of the bill had complained that the legislation would stifle free speech, particularly among religious groups.
Some worried that passages in the Bible condemning homosexuality could be declared hate literature.
"We've seen through the courts that when religious freedom comes up against gay rights, that in fact religious freedom tends to be more often than not the loser in those particular cases," said Derek Rogusky, of the group Focus on the Family.
Supporters of the bill said fears about censorship are groundless and that C-250 isn't meant to infringe on anyone's freedom of religion.
The law carries a penalty of up to five years in prison.