

WASHINGTON — Republicans in the U.S. House of Representatives came together early Thursday to pass President Donald Trump’s “big, beautiful” tax bill out of the chamber on a narrow vote.
Every Democrat on the floor voted no, as did Republican Reps. Warren Davidson of Ohio and Thomas Massie of Kentucky. Rep. Andy Harris, R-Md., who chairs the conservative House Freedom Caucus, voted present. The final vote tally was 215-214.
The passage was a major victory for Republican leaders, who spent the past two months crafting the bill and the past two days making last-minute changes to it.
The more than 1,000 pages of legislation and 42 pages of amendments are a case study in how to win over both moderates and hard-line conservatives.
House Freedom Caucus member Rep. Keith Self, R-Texas, said he wishes that the bill had gone further on tax cuts, but that the caucus “did what we could.”
“I was the last vote [cast], and I wasn’t going to take the bill down,” he told NBC News.
Trump praised Speaker Mike Johnson and House GOP leadership after the bill passed and thanked “every Republican who voted YES on this Historic Bill!”
US President Donald Trump, center, US House Speaker Mike Johnson, a Republican from Louisiana, left, and Representative Lisa McClain, a Republican from Michigan, arrive for a House Republican caucus meeting at the US Capitol in Washington, DC, US, on Tuesday, May 20, 2025.
Nathan Howard | Bloomberg | Getty Images
“Now, it’s time for our friends in the United States Senate to get to work, and send this Bill to my desk AS SOON AS POSSIBLE!” the president wrote Thursday morning on Truth Social. “There is no time to waste.”
Johnson aims to get the package to Trump’s desk by July 4. “Today proves that we can do that and we will do that,” the speaker said.
On Wall Street, however, investors were not as enthusiastic about the tax cut package as Republicans in Washington were.
Major indexes fell Wednesday, as analysts and corporate leaders worried that Trump’s expensive spending bill will lead to exploding federal deficits and weaker long-term fiscal health for the nation. The yield on the 30-year Treasury bond yield hit 5.09%.
Democrats, likewise, are vehemently opposed to the bill’s steep cuts to the social safety net in order to pay for some of the tax cuts Trump promised on the campaign trail last year.
An analysis from the nonpartisan Congressional Budget Office estimates that if the bill were to become law, “in general, resources would decrease for households in the lowest decile (tenth) of the income distribution, whereas resources would increase for households in the highest decile.”
The package still faces a complicated path through the Senate, however.
The upper chamber will consider the legislation under a set of rules called budget reconciliation, which requires only a simple majority to pass instead of the typical 60 votes required to move bills through the Senate.
Nonetheless, several Republican senators have already said they will require significant changes to the bill before agreeing to vote for it.
The final version of the bill that passed Thursday contained scores of amendments, designed to give each of the competing factions within the House GOP conference a win.
U.S. Speaker of the House Mike Johnson (R-LA) speaks to the media after the House narrowly passed a bill forwarding President Donald Trump’s agenda at the U.S. Capitol on May 22, 2025 in Washington, DC.
Kevin Dietsch | Getty Images
For example, a timeline for imposing work requirements for Medicaid recipients was moved up by two years, to the end of 2026 — a victory for conservatives.
But the amendments also contained a fourfold increase in the cap on deductions that federal income tax filers can claim for state and local taxes they paid.
The maximum SALT deduction increases from its current level of $10,000 to $40,000, for taxpayers reporting less than $500,000 in income.

Rep. Mike Lawler, R-N.Y., who was a firm holdout on the bill until it included the SALT cap increase, called the legislation “vital to really kick-start our economy and give folks certainty in the marketplace.”
“The fact is, we delivered on something, this is a big promise that I made to my district, that I would fight tooth and nail and I would never support a tax bill that didn’t adequately lift the cap on SALT, and that’s what we delivered here today,” he said on CNBC’s “Squawk Box” after the vote.
Ahead of the vote, the House Rules Committee convened for 21 straight hours of debate and amendments in order to meet Johnson’s self-imposed Memorial Day deadline for passing the bill.
The broader bill seeks to deliver on Trump’s key campaign promises, and includes provisions to make permanent Trump’s 2017 tax cuts and eliminate taxes on tips.