The budget was supposed to have been approved by the end of last year, but was held up by political bickering between rival Kurdish, Shia and Sunni blocs in parliament.
Each group supported one of the three bills but not the other two due to fears the other blocs would not reciprocate by backing all three.
Therefore, as a compromise, it was agreed in recent days that the three should be voted on as a package.
Scores of politicians walked out of the legislature in protest on Tuesday evening, blocking a vote on the bills in a sign of the deep distrust between the different groups.
Some MPs said parliament should be disbanded and new elections held.
But parliament convened again on Wednesday and despite a walkout by some MPs, managed to overcome a dispute over voting procedures to pass the three measures.
"We have proven today that Iraqis are just one bloc," Mahmoud Mashhadani, the parliament speaker and a Sunni Arab, said.
Ryan Crocker, the US ambassador to Iraq, welcomed the vote and told reporters he would "like to congratulate the government and people of Iraq for these significant accomplishments".
Washington has pressed Iraqi leaders to pass legislation to help heal sectarian divisions that have increased due to attacks against US forces mainly by Sunni groups and violence between Shia and Sunni Muslims.
The laws passed on Wednesday are not among several so-called benchmarks sought by the US, but the measures, especially the amnesty law, would still form an important component of reconciliation, US officials have said.
The main Sunni Arab bloc, the Accordance Front, said passage of the amnesty law would help accelerate its return to the Shia-led government of Nuri al-Maliki, the prime minister.
The front, which quit the government in August, has long demanded the release of security detainees.
US forces and Iraqi authorities each hold more than 23,000 prisoners, many of them Sunni Arabs.
"We have no doubt that passing this law will have a remarkably positive effect in speeding up the return of the Accordance Front to the government," Salim al-Jubouri, a spokesman for the bloc, said.
The Kurds, on the other hand, had said that they feared that if they supported the amnesty and provincial bills, other blocs would not reciprocate by backing the budget.
The budget includes a controversial allocation of 17 per cent of the spending to the autonomous northern Kurdish region.
In the end, a compromise had been reached on the contested allocation according to Khaled al-Attiya, the parliament's first deputy speaker, which will be 17 per cent for 2008 but will be reviewed for 2009 on the basis of the Kurdish region's share of the population as assessed in a nationwide census to be held by the end of this year.
Shia MPs had pushed for passage of the provincial powers law which had been stalled in parliament for more than a year.
In recent days, leaders of the blocs agreed to vote on all three measures as a package because of mutual suspicion that if one was voted on separately and approved, the faction that wanted that most would renege on the rest.
Parliament also passed a law last month that will allow former members of the now outlawed Baath party to regain their jobs in the government and military, a demand of Sunni Arabs who were dominant under Saddam Hussein, the former president.
But al-Maliki's government has struggled to make headway on other laws, especially legislation that would equitably share the country's oil reserves.