President George Bush is expected to veto the legislation, as is his constitutional right. Because Congress cannot muster a two-thirds majority for it, that veto will prevent the withdrawal from actually taking place.
However analysts say the veto will force Congress into seeking a compromise with the Republican president, who earlier this year proposed a "troop surge" of 28,000 US reinforcements to combat the deteriorating situation in Iraq.
"It is with great pride that I stand with you today after the passage in the Senate… of this legislation that takes us in a new direction in Iraq," House of Representatives speaker Nancy Pelosi told her Senate counterpart, Harry Reid.
"I have said that the war in Iraq is the greatest ethical challenge facing our nation. How ethical is it to send our troops into harm's way… without the training, the equipment and a plan for success?" she asked.
Democrats want to spend some of the remaining $124 billion of emergency funding authorised by the bill on domestic programmes such as the provision of children's healthcare.
They have proposed that US troops should begin leaving Iraq from October this year, with the aim of completing the withdrawal by March 2008, although unlike in previous versions of the bill the date is non-binding and is being presented as a target.
The top US general in Iraq, General David Petraeus, said that the situation in Iraq was "exceedingly challenging" but said there had been "progress in several areas in recent months".
"Iraq is in fact the central front of al-Qaida's global campaign and we devote considerable resources to the fight against al-Qaida [in] Iraq," he said.
White House spokeswoman Dana Perino said after yesterday's vote that the president intended to veto the troop withdrawal bill. Such a move would mark only the second time that Mr Bush has vetoed a bill during his tenure in office.
Click here to run an energy price comparison, and see if you could be paying less for your gas and electricity.