The non-binding postal vote showed 61.6% of people favour allowing same-sex couples to wed, the Australian Bureau of Statistics said.
Jubilant supporters have been celebrating in public spaces, waving rainbow flags and singing and dancing.
A bill to change the law was introduced into the Senate late on Wednesday. It will now be debated for amendments.
Prime Minister Malcolm Turnbull said his government would aim to pass legislation in parliament by Christmas.
“[Australians] have spoken in their millions and they have voted overwhelmingly yes for marriage equality,” Mr Turnbull said after the result was announced.
“They voted yes for fairness, yes for commitment, yes for love.”
The issue only went to a voluntary postal vote after a long and bitter debate about amending Australia’s Marriage Act.
The result on Wednesday brings an end to what was at times a heated campaign. The vote itself had been criticised by same-sex marriage supporters, many of whom said it was unnecessary when parliament could debate the issue directly.
The survey was voluntary, unlike Australia’s compulsory elections.
More than 12.7 million people – about 79.5% of eligible voters – took part in the eight-week poll, which asked one question: “Should the marriage law be changed to allow same-sex couples to marry?”
The Yes campaign argued that it was a debate about equality. The No campaign put the focus on the definition of family, raising concerns about how issues like gender will be taught in schools.
‘Gay people are going to have the best weddings’
Australia’s chief statistician David Kalisch said about 7.8 million people voted in support of same-sex marriage, with approximately 4.9 million against it.
He said participation was higher than 70% in 146 of Australia’s 150 electorates. All but 17 electorates supported changing the law.
“This is outstanding for a voluntary survey and well above other voluntary surveys conducted around the world,” Mr Kalisch said.
“It shows how important this issue is to many Australians.”