Italy's Senate has voted to grant legal recognition to civil unions, as the last holdout in Western Europe took a compromise step to give some rights to gay couples after a years-long battle.

Premier Matteo Renzi described the passage of the bill as "historic".

But gay and lesbian groups denounced the legislation as a betrayal because Mr Renzi's Democratic Party sacrificed a provision to allow gay adoption in order to ensure passage.

The legislation, which must still pass the lower Chamber of Deputies, is nevertheless significant for an overwhelmingly Roman Catholic country where the Vatican holds sway in politics and society, although Pope Francis remained silent as debate raged in recent months.

It passed 173-71, well over the threshold necessary.

Sign up to our free newsletters

Get the best updates straight to your inbox:
Please select at least one mailing list.

You can unsubscribe at any time by clicking the link in the footer of our emails. We use Mailchimp as our marketing platform. By subscribing, you acknowledge that your information will be transferred to Mailchimp for processing.