Senate Republicans have blocked a move to pass an aid bill for Ukraine after failing to secure border compromises they sought in exchange.
The $110bn package included $61bn for Ukraine, as well as funds for Israel and aid for Gaza.
Republicans are insisting that any aid to Ukraine be tied to sweeping US immigration and asylum reforms.
The White House has warned that US funds for Ukraine could soon run out.
Senators voted 51 to 49 against advancing the bill, with 60 votes needed. The vote throws uncertainty into the future of aid for Ukraine and sends lawmakers back to the negotiating table with just days to go until Congress has scheduled winter break.
Every single Republican Senator voted against the measure, along with independent Senator Bernie Sanders, who had earlier in the day expressed reservations that the legislation included billions in military aid for Israel.
“I do not believe we should be appropriating over $10 billion for the right-wing extremist Netanyahu government to continue its current military approach,” Mr Sanders said, referring to Israeli Prime Minister Benjamin Netanyahu’s ongoing campaign in the Gaza strip, which has so far killed thousands of civilians.