US President George W Bush has intervened to prevent Lewis Libby, a convicted former vice-presidential aide, from serving a prison term.
Libby is one of the most senior White House officials ever convicted
President Bush described as "excessive" the 30-month sentence Libby was facing for obstructing an inquiry into the leaking of a CIA agent's name.
Though no longer required to go to jail, Libby is still due to serve a period of probation and pay a fine.
A leading Democratic politician said Mr Bush's decision was "disgraceful".
History will judge the president "harshly" for using his power to benefit his vice-president's former chief of staff, Harry Reid, the leading Democrat in the US Senate, said.
The BBC's James Westhead in Washington says the president has portrayed his decision as a compromise between pardoning Libby outright and allowing his sentence to stand unchanged.
Lewis Libby, also known by his nickname, "Scooter" Libby, was found guilty in March of perjury and obstructing justice in a case connected to Washington's decision to invade Iraq.
His trial stemmed from the accusation that the White House had illegally made public the identity of a serving CIA agent, Valerie Plame, in an apparent effort to embarrass her husband.
Ms Plame's husband, a former US diplomat, had publicly criticised the basis for the invasion of Iraq.
Libby was found to have lied to investigators about conversations where he mentioned Ms Plame but he was not convicted of having directly leaked her name.
He was sentenced to two-and-a-half years in prison, two years of probation and a fine of $250,000 (£125,000).
Democratic leader Harry Reid said the conviction was "the one faint glimmer of accountability for White House efforts to manipulate intelligence and silence critics of the Iraq war".
WHAT IS CIA LEAK CASE ABOUT?
Libby was found guilty of lying to the FBI and a grand jury over revelations about CIA agent Valerie Plame's identity
Critics said the White House leaked Ms Plame's identity to undermine her husband, ex-ambassador Joseph Wilson
He had publicly cast doubt on the Bush administration's case for war in Iraq
The alleged cover-up, rather than the leak itself, was the subject of the Libby trial
Responding to President Bush's decision to commute Libby's sentence, he said: "Now, even that small bit of justice has been undone."
Nancy Pelosi, the Democratic Speaker in the House of Representatives, said Mr Bush's decision showed he "condones criminal conduct".
The prosecutor who led the case against Libby, Patrick Fitzgerald, challenged Mr Bush's statement that the sentence was "excessive", saying "all citizens stand before the bar of justice as equals".
Hours before President Bush's announcement, an appeals court had told Libby he could no longer delay going to jail.
The judge ruled that Libby could not remain free on bail while his lawyer appealed against the sentence.
Ms Plame's identity as a CIA agent was leaked to the press
President Bush said he had until now refrained from intervening in the case, waiting instead for the appeals process to take its course.
"But with the denial of bail being upheld and incarceration imminent, I believe it is now important to react to that decision," he said.
"I respect the jury's verdict," President Bush said. "But I have concluded that the prison sentence given to Mr Libby is excessive," Mr Bush said.
However, he said, Libby's remaining punishments - the probation period and fine - were "harsh" and would leave his reputation "forever damaged".