The Senate passed a long-awaited foreign aid package for Ukraine and Israel early Tuesday morning, delivering a bipartisan endorsement of the legislation after months of negotiations, dire battlefield warnings and political mudslinging. But the measure faced a buzz saw of opposition in the House, where Republican resistance threatened to kill it.
The 70-to-29 vote reflected a critical mass of support in Congress for the $95 billion emergency aid legislation and for continuing to arm Ukraine in its fight against Russian aggression. The measure would provide an additional $60.1 billion for Kyiv — which would bring the total U.S. investment in the war effort to more than $170 billion — as well as $14.1 billion for Israel’s war against Hamas and almost $10 billion for humanitarian aid for civilians in conflict zones, including Palestinians in Gaza.
But it also splintered Republicans and foretold a bumpy road ahead in the G.O.P.-led House, where the speaker suggested late Monday that he would not act on it.
Twenty-two Senate Republicans voted with almost all Democrats for the bill — five more than had helped it over a final procedural hurdle on Monday night — while the rest of the party argued against continuing to fund a foreign nation’s battle to protect its sovereignty without first cracking down on an influx of migration into the United States across its border with Mexico.
The vote took place after an all-night Senate session in which a parade of Republican opponents made speeches denouncing various aspects of the bill.
Republican hostility to the measure has been egged on by former President Donald J. Trump, who encouraged G.O.P. senators to reject an earlier version that would have included a bipartisan border security deal, and Speaker Mike Johnson.
“House Republicans were crystal clear from the very beginning of discussions that any so-called national security supplemental legislation must recognize that national security begins at our own border,” Mr. Johnson said in a statement on Monday night, adding: “In the absence of having received any single border policy change from the Senate, the House will have to continue to work its own will on these important matters.”
His comments suggested that the foreign aid bill’s only path through the House may be for a bipartisan coalition like the one in the Senate — including more mainstream, national security-minded Republicans — to come together and use extraordinary measures to force action on it.
“If we want the world to remain a safe place for freedom, for democratic principles, for our future prosperity, then America must lead the way — and with this bill, the Senate declares that American leadership will not waver, will not falter, will not fail,” Senator Chuck Schumer, Democrat of New York and the majority leader, said after the vote, adding: “With the strong bipartisan support we have here in this Senate with this vote, I believe that if Speaker Johnson brought this bill to the House floor, it will pass with the same strong bipartisan support.”
Senator Mitch McConnell, the Kentucky Republican and minority leader who has vocally championed aiding Ukraine, celebrated the vote as a triumph over the skeptics in his own party — though he refrained from directly challenging Mr. Johnson to put the bill on the House floor.
“The Senate understands the responsibilities of America’s national security and will not neglect them,” Mr. McConnell said in a statement after the vote. “History settles every account. And today, on the value of American leadership and strength, history will record that the Senate did not blink.”
Still, Mr. McConnell’s stance was a break with a majority of Republicans in Congress, who have repudiated the measure, reflecting a turn away from the party’s traditional hawkish posture and belief in projecting American power and democratic principles around the world.
Mr. Trump in particular has railed against the legislation from the campaign trail. In recent days, he has argued on social media that it was “stupid” for the United States to offer foreign aid instead of loans and encouraged Russia to “do whatever the hell they want” to NATO members that did not spend enough money on their own defense.
The pressure did little to erode a coalition of Republicans that cast multiple votes to keep the aid bill moving forward; in fact, the bloc grew as the legislation made its way to passage.
That task will be more difficult in the Republican-led House, where Mr. Johnson controls the floor and right-wing lawmakers have shown a willingness to block legislation they oppose from even coming up for a vote. Still, if proponents can muster enough support from Democrats and mainstream and national security-minded Republicans willing to buck Mr. Trump and the far right, they could steer around the opposition through a maneuver known as a discharge petition. That allows lawmakers to force legislation to the floor if they can gather the signatures of a majority of the House — 218 members — calling for the action.
In the Senate, Republicans who supported the legislation argued that its passage was imperative to maintain the United States’ international standing as a guardian of Western-style democracy against threats posed by authoritarian regimes. They held up Ukraine’s war as a critical test of whether Washington is serious about standing up to aggressors like President Vladimir V. Putin of Russia.
“If it only stays this bad for the next couple of years, Putin is losing,” Senator Thom Tillis, Republican of North Carolina, said of Ukraine’s war effort. He argued that helping Kyiv could weaken Mr. Putin’s grip on power — “and that’s damn sure worth $60 billion, or $600 billion, to get rid of him.”
Mr. Tillis also dismissed the idea that skepticism of the bill by Republican voters was a reason to oppose it.
“When people use the base as a reason for saying they have to oppose it, I say, I go home, show my base some respect, dispel the rumors, talk about the facts,” he said. “And then I don’t have a base problem.”
Many of the Republican opponents cited the lack of tough border restrictions for the United States. But they also led the charge last week to kill a version of the legislation that paired the aid with stiffer border enforcement measures, including stricter asylum laws, increased detention capacity and accelerated deportations.
“A literal invasion is coming across our border,” Senator Rand Paul, Republican of Kentucky, said on the floor on Monday. “And all they had time to do in the Senate was get the money, get the cash pallets, load the planes, get the champagne ready and fly to Kyiv.”
Other Republicans argued that it was folly to send Ukraine more tens of billions of dollars, questioning whether Kyiv could ever get the upper hand against Russia.
Mr. Putin is “an evil war criminal, but he will not lose,” said Senator Ron Johnson, Republican of Wisconsin, adding that “the continuation of this war is destroying Ukraine.”
And in a memo to colleagues, Senator J.D. Vance, Republican of Ohio, suggested that the entire bill was designed to compromise Mr. Trump’s ability to cut off aid to Kyiv in the future should he win the election.
“The supplemental represents an attempt by the foreign policy blob/deep state to stop President Trump from pursuing his desired policy,” Mr. Vance wrote, adding that Democrats were trying to “provide grounds to impeach him and undermine his administration.”
A few Senate Democrats also opposed the legislation over the billions of dollars worth of offensive weapons included for Israel.
“I cannot vote to send more bombs and shells to Israel when they are using them in an indiscriminate manner against Palestinian civilians,” Senator Jeff Merkley of Oregon said in a statement Monday night. He joined Senator Bernie Sanders, independent of Vermont, who normally votes with Democrats but broke with the party because of his objections to Israel’s actions against Palestinians in Gaza.