WASHINGTON - The U.S. Senate Thursday gave final approval to a $124 billion supplemental spending bill that imposes a timetable for withdrawal of U.S. troops from Iraq.

U.S. President George Bush has vowed to veto the measure, which was reported out of conference committee Monday. The Senate voted 51-46 to approve the measure on the heels of a 218-208 House vote Wednesday night.

Before the vote, Senate Majority Leader Harry Reid, D-Nev., defended the measure, saying lawmakers "should be proud to send" it to the president.

"No one wants this nation to succeed in the Middle East more than I do," Reid said, adding there is "no magic formula or silver bullet" for ending strife in that region of the world.

Reid said the withdrawal outlined in the measure represents a "responsible plan for redeployment" and denied it was "precipitous."

Reid also defended provisions in the bill that have nothing to do with the war effort, citing the need to provide relief to drought-stricken farmers and victims of Hurricane Katrina.

"How many more suicide bombs must kill American soldiers before this president offers a timeline for our troops to come home?" U.S. Rep. Patrick J. Murphy, D-Pa., and an Iraq war veteran, said during the House debate. "How many more military leaders must declare the war will not be won militarily before this president demands that the Iraqis stand up and fight for their country? ... This bill says enough is enough."

Congressional leaders planned to send the bill to Bush on Tuesday, the fourth anniversary of the president's speech in which he declared the end of major combat operations in Iraq, The New York Times reported.

A White House statement called the bill "disappointing legislation that insists on a surrender date, handcuffs our generals, and contains billions of dollars in spending unrelated to the war."