Congress approved $70 billion Wednesday for military operations in Iraq and Afghanistan, a bitter finish for majority Democrats who tried to force a change in President Bush's war policy.

The House's 272-142 vote also sent the president a $555 billion catchall spending bill that combines the war money with money for 14 Cabinet departments.

Bush and his Senate GOP allies forced the Iraq money upon anti-war Democrats as the price for permitting the year-end budget deal to pass and be signed. But other Democrats were eager to avoid being seen as not supporting troops who are in harm's way — and avoid weeks of bashing by Bush for failing to provide that money.

"This is a blank check," complained Rep. Jim McGovern, D-Mass. "The new money in this bill represents one cave-in too many. It is an endorsement of George Bush's policy of endless war."

The vote reflected the reluctance by each party to deny money to troops in the field. At the same time, anti-war Democrats had found their position weakened by the decline in violence in Iraq.

War spending aside, Bush's GOP allies were divided over whether the overall spending bill was a victory for their party in the monthslong fight with Democrats over agency budgets.

Conservatives and outside groups such as the Club for Growth, which seeks to elect lawmakers opposed to tax and spending increases, criticized the bill for having about $28 billion in domestic spending that topped Bush's budget and was paid for by a combination of "emergency" spending, transfers from the defense budget and other maneuvers.