The current system levies taxes based on how much earth is moved at a mine, while the new law would shift the focus on how much mineral wealth is produced.
Alan Garcia, Peru's president, who has seen his approval numbers drop following allegations of corruption in congress and perceptions he has not done enough to address widespread poverty, backed the bill.
Yehude Simon, Peru's prime minister, had previously said congress would not hold a vote until protests were halted, but he appears to have backed down.
The law has been most controversial in the south of Peru, where most of the mines are run by Southern Copper, one of the world's largest mining companies.
Southern Copper operates the Cuajone mine and Ilo smelter in Moquegua and the Toquepala mine in Tacna.
Moquegua expects to get 20 per cent of the revenues from Southern Copper this year, while 80 per cent is set to go to Tacna.
Politicians in both provinces say they need the funds to develop basic services.
About 40 per cent of Peruvians live in poverty and have seen little relief despite seven years of economic growth in the country, largely driven by booming mining exports.