The tax will raise A$10.6bn ($11.2bn, £7bn) over three years from major companies including BHP Billiton, Rio Tinto and Xtrata.
Strong demand for raw materials from China and India has lead to a resource boom in Australia.
The mining tax is aimed at distributing the benefits of that revenue to other segments of the economy.
"This important reform will provide a revenue stream to ensure that businesses in particular that are not in the fast lane of the resources boom get some tax relief," Treasurer Wayne Swan told Parliament.
The government wants to use the funds, amongst other things, to reduce Australia's company tax rate from 30% to 29%.
The measure passed through the upper house Senate with backing the ruling Labor party and the Greens party, in a success for Prime Minister Julia Gillard.
However, the conservative opposition coalition is against the mining tax, saying it will drive investment overseas and cost thousands of jobs in Australia.
The Australian government originally announced a 40% mining tax in May 2010, but that set-off intense opposition from the mining companies.
That opposition was central to the Labor party's decision in June to replace Kevin Rudd as prime minister with Ms Gillard.
She then negotiated a 30% tax with the mining giants.
The government also won support for the tax by promising A$6bn in spending on infrastructure such as roads, rail and ports.
It also agreed to raise the amount paid to people's retirement savings to 12% of their salary by 2020, up from the current 9%.