Luxembourg Prime Minister Xavier Bettel has married his gay partner, becoming the first leader in the European Union to enter into a same-sex union in a symbol of growing social change across the continent.

Bettel, 42, a centre-right politician who became premier in 2013, tied the knot on Friday with Gauthier Destenay, a Belgian architect, just months after the Roman Catholic duchy legalised gay weddings.

The prime minister and his partner held hands as they arrived for the low key ceremony at the Luxembourg town hall, where around 100 well-wishers applauded them.

"Thank you to all Luxembourgers," Bettel said after the ceremony, as the crowd threw rice and confetti over the couple.

As well as being the first leader in the 28-nation EU to wed a gay partner, Bettel is only the second in the world after Iceland's Prime Minister Johanna Sigurdardottir, who married her writer partner in 2010. Iceland is not part of the EU.

Belgian Prime Minister Charles Michel, who was among the guests at Bettel's wedding, said he had come for a "mate's wedding", adding that it was a "big moment" for his counterpart from the neighbouring country.

"Luxembourg is giving the image of a country that is advanced on social issues. That is a message sent at a time when homophobia is on the rise in Europe," said another friend of the couple, journalist Stephane Bern.

Luxembourg's parliament approved same-sex marriage in June 2014 and the first weddings took place on January 1, 2015, making it the latest in a growing number of European countries to embrace the trend.

Bettel's wedding comes the week before staunchly Catholic Ireland holds a referendum on whether to allow same-sex marriage.

'I could have hidden it'

On the eve of his marriage to Destenay, Bettel said he had not wanted to hide his sexuality.

"I could have hidden it or repressed it and been unhappy my whole life. I could have had relations with someone of the other sex while having homosexual relations in secret," he told Belgium's RTBF public television.

"But I told myself that if you want to be a politician, be honest in politics, you have to be honest with yourself and to accept that you are who you are."

In August, Bettel had announced that he would marry Destenay with whom he has been in a civil union since 2010. "He asked me and I said 'yes'," he told the Los Angeles Times.

The ceremony will be followed by weekend-long private celebrations for around 500 guests, sources said.

The couple have postponed their honeymoon because of Bettel's busy political schedule which includes Luxembourg taking over the rotating presidency of the EU on July 1.

Bettel is also campaigning to win a June 7 referendum on a series of reforms, including limiting the premier's term to 10 years and cutting the voting age to 16 years.