Canada's Senate overwhelmingly approved the legislation 47-21 late on Tuesday despite fierce opposition from conservative politicians and from religious groups who portrayed it as an attack on organised religion.
The new legislation grants gays and lesbians the right to full civil marriages however religious officials would not be obliged to marry same-sex couples.
Prime Minister Paul Martin's minority Liberal Party government said it had to draw up the legislation to allow same-sex marriages across the country after courts in eight of the 10 provinces ruled that a heterosexual-only definition of marriage was unconstitutional.
Martin, a Roman Catholic, has said that despite anyone's personal beliefs, all Canadians should be granted the same rights to marriage.
In a speech addressing the House of Commons on February 16, 2005, Martin quoted the British Columbia Court of Appeal: "Marriage is the only road to true equality for same-sex couples. Any other form of recognition of same-sex relationships... falls short of true equality."
Canadian residency requirements are less strict than those in other countries that allow gay marriage resulting in gay men and lesbians travelling to Canada to get married despite the unions not being recognised in the couples' home countries.