Senate Republicans have broken with President Bush to help Democrats add support for veterans and the unemployed to a bill paying for another year of the Iraq and Afghanistan wars.
The 75-22 vote also adds billions of dollars in other domestic funds such as heating subsidies for the poor and money for fighting wildfires to the $165 billion for the military operations overseas.
The vote is a rebuke to Bush, who has promised to veto the measure if it contains the domestic measures. However, the president still has enough GOP support to sustain a veto.
The House still has to act on the bill. Last week, the House voted to reject money for continuing the war.
The huge tally in the Senate was driven by the popular money to extend unemployment benefits by 13 weeks and providing returning Iraq war veterans with sharply increased college aid.
But dozens of add-ons favored by senators in both parties contributed to the unexpectedly sweeping tally.
Such initiatives included money for Louisiana and Mississippi for projects including levees and coastal restoration.
There's also $850 million for international food aid, $1.9 billion for military construction projects, and several billion dollars in various foreign aid programs — all requested by the administration.
In subsequent votes, the Senate was poised to approve $165 billion to fund Pentagon operations in Iraq and Afghanistan into next year and reject Democratic efforts to urge Bush to begin redeployment of combat troops and place other strings on his ability to conduct the war in Iraq.