The Canadian parliament passed a bill allowing same-sex marriage, marking the end of a long debate over whether to change the traditional definition of marriage - solemnised between a man and a woman.

In a 158 to 133 vote, the House of Commons adopted the controversial legislation legalising homosexual marriage in the country, in the bill's third and final reading Tuesday night, reports Xinhua.

Canada will become the third country in the world after Belgium and the Netherlands to officially sanction same-sex marriage as the bill is expected to get through the Senate with no difficulty.

Meanwhile, Minister of State Joe Comuzzi, a junior minister upholding a traditional view on marriage resigned Tuesday from Canada's Liberal cabinet hours before voting on the bill was to take place.

Court decisions in Canada in the past few years have allowed such marriages to be performed in eight provinces out of the 13 provinces and territories. The holdouts are Alberta, Prince Edward Island, Nunavut and the Northwest Territories.