A divided US Congress has approved $100 billion (€74.4 billion) to keep fighting the war in Iraq.
The House voted 280-142 for the emergency funding bill, while the Senate passed it 80-14. President Bush is expected to promptly sign into law the bill, which for the first time would set a series of "benchmarks" to measure progress in Iraq and ties a small amount of non-military US aid to that progress.
Passage of the legislation capped a four-month struggle between Mr Bush and the new Democratic-led Congress over the increasingly unpopular Iraq war, now in its fifth year.
Underscoring Democratic division, House Speaker Nancy Pelosi voted against the bill and Senate Majority Leader Harry Reid of Nevada voted for it.
"This is a token. This is a small step forward. Instead we should have a giant step forward into a new direction," Ms Pelosi said.
Three Democratic senators running for president - Hillary Rodham Clinton of New York, Barack Obama of Illinois and Christopher Dodd of Connecticut - opposed providing money with no withdrawal deadlines. Joseph Biden of Delaware, also a presidential hopeful, voted for the bill.
With this latest instalment, the United States will have allocated more than $565 billion for the wars in Iraq and Afghanistan since 2001, according to the Congressional Research Service. Most of the money has gone to the war in Iraq.
Mr Bush pleaded for patience but warned of more tough times ahead. "It could be a bloody . . . very difficult August," he said at the White House.
US anti-war groups condemned the Democrats for allowing the bill to pass. Ms Pelosi said Democrats would quickly resume their drive to impose deadlines for pulling US combat troops out of Iraq.
According to a CBS News/ New York Timespoll, 76 per cent of Americans believe the war is going somewhat or very badly for the United States and only 20 per cent said Mr Bush's recent troop increase is making a positive difference.