House Republicans on Thursday morning passed a sweeping bill full of President Trump’s legislative priorities, marking a major win for Speaker Mike Johnson (R-La.) but kicking off what’s expected to be a bitter battle with the Senate over achieving key parts of the White House’s policy agenda.
The chamber cleared the sprawling package in a 215-214 early-morning vote after days of marathon meetings, intense negotiations that spanned both ends of Pennsylvania Avenue, and a series of last-minute changes to the bill that were crucial in coalescing Republicans around the measure.
In the end, just two Republicans — Reps. Thomas Massie (Ky.) and Warren Davidson (Ohio) — opposed the legislation. House Freedom Caucus Chair Andy Harris (R-Md.) voted “present.”
Republicans on the House floor erupted in cheers and applause when Johnson slammed the gavel just before 7 a.m. EDT to close the successful vote.
The bill — titled the “One Big Beautiful Bill Act,” adopting Trump’s slogan for the measure — extends the tax cuts enacted by the president during his first term in 2017; boosts funding for border, deportation, and national defense priorities; imposes reforms, like beefed-up work requirements, on Medicaid that are projected to result in millions of low-income individuals losing health insurance; rolls back green energy tax incentives; and, among many other provisions, increases the debt limit by $4 trillion.
It also does away with taxes on tips and overtime — two of Trump’s campaign promises.
Its passage marks a massive victory for Johnson, who successfully cajoled scores of Republican holdouts — from hard-line conservatives to vulnerable moderates — to support the bill before his self-imposed Memorial Day deadline, muscling it through his razor-thin majority.
“This is a big day,” Johnson said at a press conference surrounded by GOP leadership after the vote. “We said on the House floor: It’s finally morning in America again.”
“Today, the House has passed generational, truly nation-shaping legislation to reduce spending and permanently lower taxes for families and job-creators, secure the border, unleash American energy dominance, restore peace through strength and make government work more efficiently and effectively for all Americans,” he added.
The GOP trifecta is using the special budget reconciliation process to advance the package, which will allow the party to circumvent a Democratic filibuster in the Senate. Looking to take advantage of their full control in Washington, Republicans packed the measure with a host of partisan priorities, putting it on track to be one of the most consequential bills in years and one that will help define Trump’s second term.
Democrats, meanwhile, are working to ensure discussion of the bill centers what analysts predict will be devastating impacts for America’s poor — especially as the 2026 midterm elections inch closer.
“The GOP Tax Scam rips healthcare and food assistance away from millions of people in order to provide tax cuts to the wealthy, the well-off and the well-connected,” House Minority Leader Hakeem Jeffries (D-N.Y.), House Minority Whip Katherine Clark (D-Mass.) and House Democratic Caucus Chair Pete Aguilar (D-Calif.) said in a statement following the vote. “This fight is just beginning, and House Democrats will continue to use every tool at our disposal to ensure that the GOP Tax Scam is buried deep in the ground, never to rise again.”
While Republicans say they are targeting waste and fraud in programs such as Medicaid and beyond, an analysis from the nonpartisan Congressional Budget Office (CBO) found that individuals who make the least amount of money will lose household resources as a result of the bill, while Americans who make the most will gain assets.
But even as Democrats launch their attacks, passage of the legislation is a win for Trump. After the president unsuccessfully lobbied Republican holdouts to support the bill during a rare visit to Capitol Hill on Tuesday, he convened the rabble-rousers at the White House hours before the vote and helped broker an agreement that brought them on board. Opposition to the bill, the White House warned, would be the “ultimate betrayal.”
“This is arguably the most significant piece of Legislation that will ever be signed in the History of our Country!” Trump wrote in a celebratory post on Truth Social after the bill passed. “Great job by Speaker Mike Johnson, and the House Leadership, and thank you to every Republican who voted YES on this Historic Bill!”
The legislation, though, has a long way to go before it hits Trump’s desk. The Senate is eyeing several changes to the bill that are certain to spark ire in the House — including watering down Medicaid changes and making some tax provisions permanent — setting the stage for a fight between the chambers and a legislative ping-pong across the Capitol.
Senate Majority Leader John Thune (R-S.D.) is already signaling those tweaks.
“There are dials and tweaks on some of the tax issues that our members will want to talk about,” Thune said Tuesday.
Johnson, for hs part, is urging the upper chamber to make minimal changes to the legislation.
“I encouraged them to remember that we have a very delicate equilibrium that we’ve reached out here,” Johnson said after Thursday’s vote. “A lot of work went into this to find exactly the right balance, and you all saw how perilous it was over the last week as it developed. And I encouraged our Senate colleagues to think of this as a one-team effort, as we have, and to modify this as little as possible, because it will make it easier for us to get it over the line ultimately and finished.”
And hard-liners are warning that they will not rubber-stamp any package the Senate returns. Rep. Chip Roy (R-Texas), who was one of the final holdouts for the bill Thursday, said the upper chamber cannot strip the provisions they added to the legislation.
“The message will be soon, and they’ve got a lot they still need to do to make it better. And they can’t unwind what we achieved. And those are going to be red lines,” Roy said following the vote. “If the SALT guys think they’ve got red lines, just wait until you see what’s coming out of us.”
The clock is ticking. Treasury Department Secretary Scott Bessent said Congress must raise the debt limit by mid-July to avoid an economy-rattling default, leaving lawmakers little time to hash out their differences and deliver Trump a bill he can sign into law.
Republican leaders have said they want to enact the package by July 4.
Passage of the bill in the House early Thursday morning marks the culmination of a months-long attempt by Johnson and his lieutenants to craft a package that could muster support across the ideologically diverse conference.
In the final stretch, hard-line conservatives in the House Freedom Caucus and Republicans from high-tax blue states required the most attention as they dug in on their distinct demands for the legislation.
Spending hawks pressed leadership to expedite the implementation of the enhanced Medicaid work requirements, accelerate the rollback of green energy tax credits enacted by Democrats, and extract enough spending cuts to ensure the package would not add to the deficit.
The group secured some of those asks — the Medicaid and green energy tax credit ones, for example — but fell short of others. Instead, Trump is expected to sign a series of executive orders to achieve some of the group’s goals, allowing it to claim policy wins without having to build consensus in the conference.
“I think we can resolve their concerns, and it’ll be probably some combination of work by the president in these areas as well as here in Congress,” Johnson said shortly before Thursday’s vote. “There may be executive orders relating to some of these issues in the near future. And this is a commitment the president has made.”
Centrist Republicans hailing from high-tax blue states, meanwhile, demanded an increase to the state and local tax (SALT) deduction cap, which made for intense negotiations between leadership and lawmakers from New York, New Jersey and California. Trump’s 2017 tax cuts implemented a $10,000 SALT cap, which key stakeholders pushed to increase.
Leadership proposed a $30,000 deduction cap for individuals making $400,000 or less, a proposal SALT Caucus members vehemently rejected. Instead, the group floated a $62,000 deduction cap for single filers, and a $124,000 cap for joint filers — highlighting the gulf between the groups.
In the end, after days of tense negotiations that saw a handful of blowups, lawmakers agreed on a $40,000 deduction cap for individuals making $500,000 or less.
The road to Thursday’s successful vote was dramatic until up to the last moment. Reps. David Schweikert (R-Ariz.) and Andrew Garbarino (R-N.Y.) were the lone two lawmakers to miss the vote: Johnson said Schweikert arrived in the chamber a second too late, and Garbarino’s office said the New York Republican “briefly stepped out and inadvertently missed the vote.”
The Speaker specified Garbarino slept through the vote.
“By the way, I just want you to know: For the record, we really had 217 votes this morning,” Johnson told reporters. “Andrew Garbarino did not make it in time — he fell asleep in the back. No kidding. I know, I’m gonna just strangle him. But he’s my dear friend.”
“And then David Schweikert was going to vote and slipped his card in right at the last minute,” he added. “So it looks like a razor-thin margin, 215-214 and one present. It was really 217, OK? Will you all put a footnote somewhere in history on that? They’re both going to go on record saying that’s how they would’ve voted if they got the card in in time.”
Mike Lillis contributed.
Updated at 9:11 a.m. EDT