US President George W Bush has said his ultimate goal is to end tyranny in the world, in his first State of the Union address since his re-election.
Mr Bush hailed what he called the spread of democracy
He castigated the governments of Syria and Iran, urging them both to end what he called their support for terrorism.
Mr Bush also said the goal of a Palestinian state was within reach, and hailed the recent elections in Iraq.
He also promised to partially privatise the US pensions system - prompting booing from opposition Democrats.
Such signs of dissent are highly unusual during a State of the Union address.
BBC Washington correspondent Justin Webb says this was a confident performance from a president buoyed up by the weekend poll in Iraq.
"Our generational commitment to the advance of freedom, especially in the Middle East, is now being tested and honoured in Iraq," Mr Bush said.
As expected, the president did not outline a timetable for the withdrawal of US forces from Iraq, but he said progress made in training Iraq's security forces was gradually reducing the burden.
In the audience, the mother of a US marine who was killed in Iraq and an Iraqi human rights activist tearfully embraced as Mr Bush honoured those "who died for our freedom".
Nancy Pelosi, minority leader in the House of Representatives, was critical of the president's Iraq policy.
"We have never heard a clear plan from this administration for ending our presence in Iraq, and we did not hear one tonight," she said.
Mr Bush's overall approval ratings are lower than any other re-elected president in recent years.
But our correspondent says the president has real political clout - partly from the fact that his Republican Party controls both houses of Congress and partly from the election in Iraq.
Middle East peace
On efforts to promote Middle East peace, the president said he would ask Congress for $350m to support Palestinian political, economic and security reforms.
"The goal of two democratic states, Israel and Palestine, living side by side in peace is within reach - and America will help them achieve that goal," Mr Bush said.
President Bush made a passing reference to North Korea, saying that he was working with Asian allies to convince Pyongyang to end its nuclear weapons programme.
Mr Bush saved most of his criticism for Iran, calling it "the world's primary state sponsor of terror" and accusing it of pursuing nuclear weapons - a charge Iran denies.
But the president emphasised diplomacy, saying he was working with European allies to persuade Tehran to give up its nuclear ambitions.
The president spoke directly to the Iranian people, encouraging them to seek democracy.
Mr Bush also singled out Syria, pressing it to "end all support for terror".
And in a rare message to allies Egypt and Saudi Arabia, he said they too must embrace democratic reforms.
Throughout the 53-minute speech, many of the president's points were met with loud applause and standing ovations.
But the first half of Mr Bush's speech focused on domestic policy - and this is where he received loud heckles from some members of Congress.
He spoke in detail about his plans for younger workers to divert some of their taxes into personal investment accounts to ensure they receive a pension when they retire.
Responding to Mr Bush's speech, Senate minority leader Harry Reid said the plan for social security was "dangerous" because it would add to national debt.
"That's an immoral burden to place on the backs of the next generation," he added.
The White House says that, in just over a decade, the US will have to start paying out more money under its social security pensions scheme than it can collect in taxes unless urgent changes are made.
Our correspondent says pensions used to be called the third rail of American politics - touch them and you die. Mr Bush feels confident enough to disregard that warning, he adds.
Mr Bush is to spend the next two days pitching his plans in states that supported him for president last year, and where he believes he might get support from members of Congress.
His first stop is Fargo, North Dakota. From there he goes to Montana, Nebraska, Arkansas and Florida.