Parliamentarians in the small, landlocked European country nestled between Germany, France and Belgium backed the measure by a 56-4 vote margin.
“They should have the same rights as heterosexuals,” Parliamentarian Viviane Loschetter told L’essentiel, a Luxembourgish newspaper, after the vote.
The vote caps off a five year effort to extend marriage rights to same-sex couples in the country.
Gay Prime Minister Xavier Bettel, who took office late last year, had previously said his country would extend marriage rights to same-sex couples this year.
Luxembourg’s main political parties support the issue.
Parliamentarian Roy Reding, secretary general of the conservative Alternative Democratic Reform Party, criticized the vote.
“The most important institution of our society, marriage, is ruined,” he told L’essential.
France, Belgium, the Netherlands, Denmark, Sweden, Norway, England, Wales, Spain, Portugal and Iceland are among the countries in which gays and lesbians can legally marry.
Scotland’s same-sex marriage law is slated to take effect later this year.
A referendum on whether to extend marriage rights to same-sex couples in Ireland is scheduled to take place in 2015.
The Maltese Parliament in April approved a bill that would allow same-sex couples to enter into civil unions and jointly adopt children.
Slovak lawmakers earlier this month amended their country’s constitution to define marriage as between a man and a woman. Hungary, Croatia and Latvia are among the other European countries that also prohibit gay nuptials.