"The battle in Iraq is noble, it is necessary, and it is just. And with your courage, the battle in Iraq will end in victory," he told an audience of Pentagon leaders, soldiers and diplomats.
Bush made some of his most expansive claims of success in the fighting there.
He said the increase of 30,000 troops he ordered to Iraq last year has turned "the situation in Iraq around".
He also said, "Iraq has become the place where Arabs joined with Americans to drive al-Qaida out."
"The surge ... has opened the door to a major strategic victory in the broader war on terror," the president said.
"We are witnessing the first large-scale Arab uprising against Osama bin Laden, his grim ideology, and his terror network. And the significance of this development cannot be overstated."
The US has about 158,000 troops in Iraq. The number is expected to drop to 140,000 by the middle of the year in withdrawals meant to erase all but about 8,000 troops from last year's increase.
Faster and larger withdrawals could unravel recent progress, Bush said.
"Having come so far and achieved so much, we are not going to let this happen," he said.
Anti-war activists stand in silence to mark five years of the war in Iraq during rush hour at Union Station in Washington March 18, 2008.[Agencies]