Applause filled the chamber after the Senate passed the bill with 43 members in favour and 12 against. The decision means it will go to the House of Representatives next week for a final vote.
Sixteen senators were either missing from the chamber during the vote or decided to abstain.
Those who voted against the bill were Liberal senators Eric Abetz, Slade Brockman and Concetta Fierravanti-Wells; National senators Matt Canavan, Barry O’Sullivan and John Williams; and Labor’s Chris Ketter and Helen Polley as well as One Nation’s Brian Burston and independents Cory Bernardi, Fraser Anning and Lucy Gichuhi.
There were 72 senators able to vote today but only 55 did so. At least one senator, Gavin Marshall, is overseas so 16 other senators were either granted leave or abstained from the vote.
Senators who have confirmed they abstained include Employment Minister Michaelia Cash, Assistant Minister for Social Services Zed Seselja, Liberal senator James McGrath, National’s Bridget McKenzie, and One Nation’s Pauline Hanson.
Other senators who were missing include Labor’s Sam Dastyari, Don Farrell, Alex Gallacher, Katy Gallagher, Deb O’Neill, Glenn Sterle and Jacinta Collins (who was given a pair and so did not have to vote) as well as One Nation’s Peter Georgiou and Liberal’s David Fawcett.
Liberal’s Arthur Sinodinos and Labor’s Pat Dodson may have been on leave.
In a speech before the vote Liberal Senator Dean Smith revealed the death of Tori Johnson in the Sydney Siege had influenced his support for same-sex marriage.
“Tori lost his life in the Lindt terrorist siege. He was brave, he was courageous and he had a partner named Thomas,” Mr Smith said.
“I thought of their loss and it changed me. I realised that people with real lives deserve their love to be blessed and affirmed by the institution of marriage if they so choose.”
Mr Smith said the debate had brought out the intellect, wisdom, judgment and compassion of the Senate.
“The real question out of this debate is why isn’t our Parliament like this more often?”