The Prime Minister, Julia Gillard, said carbon dioxide emissions would be taxed at A$23 (£15) per tonne from next year.
The scheme will cover the 500 companies that are responsible for most of the pollution.
Australia is one of the world’s worst emitters of greenhouse gases per head of population.
The country relies on coal for 80% of its electricity generation, and is a major coal exporter.
The energy industry and the political opposition have mounted a vociferous campaign against a carbon tax, with protests in all of Australia’s major cities in March.
Critics argue a levy would damage economic competitiveness.
Opinion polls show roughly 60% of voters against the policy.
The government hopes to win them over by spending some of the cash raised by the carbon tax to compensate households for higher energy bills.
It is promising tax cuts for low and middle-income households, as well as increased state pension and welfare payments.
Motorists are to be exempt from the carbon tax, except for heavy lorries. Agriculture will also be exempt.
“As a nation, we need to put a price on carbon and create a clean energy future,” Ms Gillard told a news conference in Canberra.
“Australians want to do the right thing by the environment.”
Ms Gillard’s coalition government has a majority of just one seat in the lower house of parliament.
Past attempts to get the tax through parliament were defeated.
Opposition leader Tony Abbott is on the record as saying: “A one-sided carbon tax, a unilateral carbon tax is an act of economic self-harm.”
But now the Australian government’s aim will be to cut 159m tonnes of carbon pollution by 2020, reducing emissions by 5% below 2000 levels.
Apart from the European Union, only New Zealand currently imposes a national carbon tax.
In the USA, President Barack Obama abandoned last year plans for a federal climate bill during his current term.