Democrats in the US Senate blocked the annual defence policy bill, worth $1.15 trillion, on Wednesday.
Although votes in favour outnumbered those against — 50 to 46 — the procedural vote on the National Defence Authorisation Act failed because it did not obtain the 60 votes required to advance in the 100-member Senate.
Senate Democratic leader Chuck Schumer announced his opposition to the bill, with a number of senior party members stating they could not support it while the war with Iran entered its fifth month without a clear strategy for ending it, according to The Associated Press.
Schumer said: "The National Defence Authorisation Act cannot become a licence for the recklessness we are witnessing in Iran." He added: "Trump does not have the right to drag the American people into a deeper war he cannot explain, does not know how to end, and then demand that Congress look the other way."
The Senate vote came two days after the White House formally notified Congress of the resumption of airstrikes on Iran, a move that effectively ended the fragile ceasefire.
Congress had repeatedly attempted to impose restrictions on the administration's war powers, voting more than ten times on resolutions invoking the War Powers Act with the aim of halting military operations, but those efforts failed as a majority of Republicans in both the House and Senate continued to back President Trump.