Italy's lower house of parliament has approved a bill that would cut the length of some trials and be likely to end a bribery case against Prime Minister Silvio Berlusconi.
The measure passed by 314 to 296, amid boos and shouts from opposition politicians.
They said the law was a "disgrace" and tailor-made for Mr Berlusconi.
Meanwhile, the Italian leader indicated that he would not stand for re-election in 2013.
The bill on shorter trials still needs final approval from the Italian senate, where Mr Berlusconi has a solid majority.
It would cut the length of trials for people with no previous convictions, and thereby effectively end a trial in which Mr Berlusconi is accused of bribing British lawyer David Mills to lie in court.
Mr Mills was convicted in the case 2009, but the ruling was overturned when the country's highest criminal court said the statute of limitations had expired.
Mr Berlusconi denies any wrongdoing in the case.
The opposition have dismissed government claims that the bill that would shorten some criminal trials would help overhaul Italy's justice system.
"It's up to us now to make people understand the disgrace of this measure, which shows absolute contempt for the country's real problems," Democratic Party leader Pier Luigi Bersani was quoted as saying by the news agency Ansa.
Antonio Di Pietro, a former magistrate who leads the opposition Italy of Values party, called the bill "the umpteenth law to save Berlusconi from his trials".
There were protests outside parliament in Rome, where people said the law would put at risk several important cases, including a trial linked to a fatal train crash in 2009.
Mr Berlusconi faces several other trials, including one in which he is charged with paying for sex with an under-age prostitute and using his position to cover it up.
He denies the allegations.
Mr Berlusconi says he is the victim of a long-running campaign by the judiciary, an accusation he repeated during a long dinner with foreign journalists in Rome on Wednesday.
The BBC's David Willey, who was at the dinner, says Mr Berlusconi promised to complete his ambitious plans to reform Italy's judicial system, to change his country's post-war constitution and replace the members of the constitutional court, Italy's highest legal authority, which he claims is stuffed with left-wing judges.
He said he did not intend to run for office again at the end of his mandate in 2013, and quashed rumours that he intends to stand for president in the same year, offering his cabinet secretary Gianni Letta as a possible candidate.
He also suggested Angelo Alfano, Italy's 40-year-old justice minister, might be a possible future leader of his ruling Freedom Party - though he did not rule out some future political role for himself as a father figure who would advise future centre-right coalitions.