US President George W Bush has vetoed a Congressional bill that would have linked war funding to a timetable for withdrawal of US troops from Iraq.
Speaking in Washington after signing the veto, Mr Bush said setting a deadline for withdrawal would be "setting a date for failure" in Iraq.
He said the funding was needed to give time for the new strategy of a surge of reinforcements in Baghdad to succeed.
Mr Bush said he would seek a compromise with Congressional leaders.
It is only the second time since taking office that Mr Bush has used the presidential veto.
Earlier on Tuesday, leaders of the Democrat-controlled US Congress signed the controversial bill agreeing to $100bn (£50bn) in further funding on condition US combat troops begin to withdraw this year.
Mr Bush criticised the bill, saying it "substitutes the opinions of politicians for the judgement of our military commanders.
"I believe setting a deadline for a withdrawal would demoralise the Iraqi people, would encourage killers across the broader Middle East, and send a signal that America will not keep its commitments," he said in a televised speech.
The veto is the latest stage in Mr Bush's clash with Congress over the conduct of the Iraq war.
Reacting to the veto, Democratic House Speaker Nancy Pelosi said the bill reflected the wishes of Americans to have benchmarks for what is happening in Iraq.
"We had hoped that the president would have treated it with the respect that bipartisan legislation supported overwhelmingly by the American people deserved.
"The president wants a blank cheque; the Congress is not going to give it to him," she said.
The Senate last week voted 51 to 46 in favour of the legislation, which said the pull-out must start by 1 October and sets a target of completion by 31 March 2008.
President Bush has poured extra US troops into Baghdad
Mr Bush will now meet congressional leaders on Wednesday to try to reach a compromise on a revised funding bill for US troops in Iraq and Afghanistan.
The Democrats acknowledge they will eventually have to soften their bill as they cannot risk being accused of undercutting the troops during wartime, says the BBC's James Westhead in Washington.
Revised legislation would have to be agreed by both the House and the Senate before being presented to him again.
Tuesday was the fourth anniversary of a speech in which Mr Bush declared major combat operations in Iraq over, standing beneath a banner proclaiming "mission accomplished".
Speaking before the signing of the bill, White House spokeswoman Dana Perino accused the Democrats of cynically delaying the move so it would coincide with the anniversary for political gain.
"It's very disturbing to think that they possibly held up this money for the troops and the troops' families and the resources they need to try some PR stunt on this day," Ms Perino said.
Mr Bush is committed to his "surge" strategy, under which thousands of extra US troops are being poured into Baghdad.
The top US general in Iraq, David Petraeus, has said reducing forces could lead to increased violence.