Increases were proposed earlier this year and the lower house has also approved creating a national mining agency (ANM) and will consider a third proposal to streamline mining rules.
Under the bill iron ore royalties will rise from 2% to 3.5%, rather than the proposed 4%, Reuters reported, and gold royalties will increase from 1% to 1.5%, not 2%.
Potassium royalties would drop from 3% to 0.2% and the rates on other materials including diamonds were unchanged.
The vote follows the Western Australian government this week reviving plans to increase the gold royalty rate by 50% to 3.75%, weeks after its previous proposal was blocked.
Brazil iron ore behemoth Vale SA's (BZ:VALE5) president and CEO Fabio Schvartsman has previously said the company was "not satisfied" with the proposed royalty increase, not only because of further costs but also the legal uncertainties over the operation of pellets which he described as industrial not mineral.
In a third quarter conference call last month, Schvartsman said it would be "better for everybody" to have a sliding scale rather than a fixed rate 4% royalty on iron ore.
"If you collect this flat tax in an environment of low prices, you were going to get actually a reduction in volumes, especially coming from the small miners," he said at the time.
"And even for Vale, in some of the operations of Vale, if the price goes down and we have to pay that high tariff, it will be impossible to continue to operate at the same level, the consequence being that the overall taxation is not going to happen."