The Senate voted to block President Biden's $111 billion request for aid to Ukraine and Israel over an impasse about the border crisis.
The bill failed 49-51, with all Republicans voting no over the refusal of Democrats to compromise on border security.
The vote was a stunning shift in the Senate, which has generally been more supportive of Ukraine across party lines than in the more rambunctious House.
Even Senator Mitch McConnell (Ky.), a fierce advocate for Ukraine, voted against Biden's bill.
“Senate Republicans know this isn’t an either-or proposition. We know that national security begins with border security,” he said.
Illegal immigration has hit all-time highs under Biden, leading to criticism from Republicans who say he has focused on Ukraine at the expense of America and its borders.
Senate Majority Leader Chuck Schumer (D-Ny.) blamed Republican intransigence for the impasse. Republicans were asking for too much on the border, he said.
"Why hold up Ukraine aid if they can’t even present a border package that can pass the Senate?” Schumer said on the floor earlier Wednesday.
“We are asking ourselves this question: Has border been nothing more than an excuse for the hard right to kill funding for Ukraine, and too many other Republican senators who are not part of the hard right are going along?” he said. “I hope that’s not true.”
Biden said he is willing to "compromise" on border security, but conservatives are certain to be skeptical given Biden's record on immigration.
Speaking with a tone of urgency wholly absent from his approach to the southern border, Biden said the Ukraine aid "cannot wait."
"Republicans in Congress are willing to give Putin the greatest gift he could hope for," Biden said.
Biden has even claimed that if Ukraine doesn't get the money, Russia might invade a NATO country, dragging American troops into a world war.
"If Putin takes Ukraine, he won't stop there," Biden said. "We'll have something that we don't seek and that we don't have today: American troops fighting Russian troops."
But the war in Israel has overshadowed the conflict in Ukraine, which has turned into an increasingly hopeless stalemate almost two years after Putin's invasion.
Congress is running out of time to finish negotiating before the Christmas break.