Canada's parliament has approved a bill that legalises same-sex marriage, despite strong opposition from conservative politicians and religious groups.

The bill was supported by 158 MPs in the House of Commons, with 133 MPs voting against.

Same-sex marriage is already legal in several Canadian provinces.

The move makes Canada only the third country after the Netherlands and Belgium to allow gay marriages.

There are over 34,000 same sex couples in Canada.

The bill still needs to be approved by the Liberal-dominated Senate to become a law.