The US Senate has voted overwhelmingly against withdrawing all combat troops from Iraq by March next year.
By a vote of 67-29, the Senate rejected an amendment to cut off all funds for combat by March 31st, 2008. The majority of senators embraced an alternative plan tying US reconstruction funds to Baghdad's progress in stabilising the country.
The Senate's votes, while nonbinding, were orchestrated to ease passage on Thursday of a war-funding bill so that House of Representatives and Senate negotiators can get to work on a compromise that President Bush could sign by the end of May.
The anti-war tally was slightly higher than a 2002 vote in which 23 senators tried to block Congress' authorisation of the US invasion of Iraq.
Emboldened by public opinion polls showing deep and growing opposition to the war that has killed 3,400 US soldiers and wounded 34,000, all four Senate Democrats running for president in 2008 voted to end the war.
Senate Republican leader Mitch McConnell of Kentucky said the vote showed "an overwhelming bipartisan majority rejected giving our enemy a timeline for withdrawal".
The House defeated a similar measure last week, but supporters were heartened by the 171 votes it attracted.