He said troops would only be withdrawn when conditions were right, adding that to do so early would risk handing Iraq over to al-Qaeda.
Mr Bush was speaking after an interim report said Iraq's progress towards meeting goals set by the US was mixed.
The president said he saw some of the findings as "cause for optimism".
The report comes amid growing pressure in Congress on the Bush administration to change course in Iraq.
The report says Baghdad has had more military than political success since a US troop surge began in January.
It says Iraq has made satisfactory progress towards meeting eight targets, but less so towards another eight.
The report says Baghdad has shown mixed results in its progress towards meeting another two goals.
The BBC's Washington correspondent Matt Frei says it is not yet clear whether the report will help or hinder the administration in its efforts to limit a Republican rebellion in Congress that might force the withdrawal of American troops from Iraq.
The Senate is expected to vote next week on amendments to the military budget, which could force cuts in troop numbers.
In May, the House passed a bill to immediately release some $43bn (£21.8bn) of funding requested by Mr Bush for the war in Iraq.
It also earmarked $53bn for release only if progress was made towards the political and military benchmarks.
US Democrats want a timetable for withdrawal or a change in the focus of the US mission from combat to counter-terrorism and the training of Iraqi forces.
Some Republicans have joined the ranks of those calling for a phased troop withdrawal.
Mr Bush has said he will veto any bill on a pull-out timetable.