The U.S. House of Representatives approved a compromise bill to free up 162 billion dollars for the wars in Iraq and Afghanistan, stripped of a timetable to pull American troops out of Iraq, a demand fiercely opposed by President George W. Bush.
By a vote of 268-155, the House approved the funding for the two wars. Most of the $161.8 billion the Pentagon will get, which is slightly less than Bush requested, will be used to fight in Iraq.
The measure is expected to be debated by the Senate within several days. It was not yet clear whether the Senate would amend the bill.
The bill was approved after Democrats and Republicans hammered out a deal following weeks of partisan haggling, angering peace activists seeking a swift end to the war in Iraq.
The legislation, which now goes to the Senate, would finance the military operations through mid 2009.
Before the vote, White House Budget Director Jim Nussle said the bill "meets the president's requirements."
Some Democrats expressed frustration with an inability to force troop withdrawals from Iraq, despite their party's majority status in the House.
"Let us hope this is the last time another dollar will be spent without constraint, without conditions," said House Speaker Nancy Pelosi, a California Democrat who opposes the Iraq war.
The debate over the future of the Iraq war is expected to shift to the presidential campaign, where Democrat Barack Obama has called for prompt troop withdrawals, while Republican John McCain has talked about the possibility of a long military presence in Iraq.
As the House voted on money for the war, an anti-war protester sitting in a visitor's gallery in the chamber threw red-stained dollars at lawmakers before being escorted out by security.