Human-rights groups have cried foul over the end to a trail-blazing piece of legislation that gave Belgian courts the right to try anyone accused of war crimes, crimes against humanity or genocide.
The new legislation went through the upper house of parliament by 39 votes to four, with 20 abstentions.
Prime Minister Guy Verhofstadt stood firm in wanting to end an acrimonious chapter in Belgium's foreign relations.
Verhofstadt said the change would "prevent our legal system from being abused" without "affecting the essence" of the law.
The new law means that only Belgian nationals or people resident in Belgium can be tried for crimes against humanity.
Foreign officials will enjoy immunity while in Belgium, removing the prospect of Blair being arrested during a European Union gathering in Brussels.
It will also annul most cases currently before the courts, with the notable exception of charges brought by Belgian residents over incidents in Rwanda, Chad and Guatemala.
Belgian Prime Minister Guy
Verhofstadt wants to improve
relations with the US
Other suits, such as the ones against Bush and Blair, have already been referred back to the countries' own jurisdictions, where they have been quietly shelved.
The United States, which was also angered by Belgium's stand against the war in Iraq, has given a cautious welcome to the scrapping of the old war crimes law.
The 1993 law had already dragged Belgium into a diplomatic minefield on several occasions before cases were brought against Bush and Blair, accusing them of war crimes in Iraq.
Washington, warning of serious consequences for Belgium's status as an international hub, threatened to cut off funding for a new NATO headquarters in Brussels unless the law was abrogated.
Israel was also infuriated by a case brought against Prime Minister Ariel Sharon over a 1982 massacre of Palestinian refugees in Beirut.
Other cases brought before the Belgian courts involved President Fidel Castro of Cuba, Palestinian Authority chairman Yasser Arafat and several African leaders.