House gives final approval to Trump’s big tax bill, sends it to him to sign
Published 2:41 pm Thursday, July 3, 2025
- Speaker of the House Mike Johnson, R-La., arrives for a closed-door GOP caucus meeting, at the Capitol in Washington on Wednesday, Feb. 14. (Associated Press)
House Republicans propelled President Donald Trump’s big trillion-dollar tax breaks and spending cuts bill to final passage Thursday in Congress, overcoming multiple setbacks to approve his signature second-term policy package before a Fourth of July deadline.
The tight roll call, 218-214, came at a potentially high political cost, with two Republicans joining all Democrats opposed. GOP leaders worked overnight and the president himself leaned on a handful of skeptics to drop their opposition and send the bill to him to sign into law. Democratic leader Hakeem Jeffries of New York delayed voting for more than more than eight hours by seizing control of the floor with a record-breaking speech against the bill.
“You get tired of winning yet?” said House Speaker Mike Johnson, R-La., invoking Trump as he called the vote.
“With one big beautiful bill we are going to make this country stronger, safer and more prosperous than ever before,” he said. Republicans celebrated with a rendition of the Village People’s “Y.M.C.A.,” a song the president often plays at his rallies, during a ceremony afterward.
The outcome delivers a milestone for the president, by his Friday goal, and for his party. It was a long-shot effort to compile a lengthy list of GOP priorities into what they called his “one big beautiful bill,” an 800-plus page measure. With Democrats unified in opposition, the bill will become a defining measure of Trump’s return to the White House, aided by Republican control of Congress.
Tax breaks and safety net cuts
At its core, the package’s priority is $4.5 trillion in tax breaks enacted in 2017 during Trump’s first term that would expire if Congress failed to act, along with new ones. This includes allowing workers to deduct tips and overtime pay, and a $6,000 deduction for most older adults earning less than $75,000 a year.
There’s also a hefty investment, some $350 billion, in national security and Trump’s deportation agenda and to help develop the “Golden Dome” defensive system over the U.S.
To help offset the lost tax revenue, the package includes $1.2 trillion in cutbacks to the Medicaid health care and food stamps, largely by imposing new work requirements, including for some parents and older people, and a major rollback of green energy tax credits.
The nonpartisan Congressional Budget Office estimates the package will add $3.3 trillion to the deficit over the decade and 11.8 million more people will go without health coverage.
“This was a generational opportunity to deliver the most comprehensive and consequential set of conservative reforms in modern history, and that’s exactly what we’re doing,” said Rep. Jodey Arrington, R-Texas, the House Budget Committee chairman.
Democrats united against the big ‘ugly bill’
Democrats unified against the bill as a tax giveaway to the rich paid for on the backs of the working class and most vulnerable in society, what they called “trickle down cruelty.”
Jeffries began the speech at 4:53 a.m. EDT and finished at 1:37 p.m. EDT, 8 hours, 44 minutes later, a record, as he argued against what he called Trump’s “big ugly bill.”
“We’re better than this,” said Jeffries, who used a leader’s prerogative for unlimited debate, and read letter after letter from Americans writing about their reliance of the health care programs.
“I never thought that I’d be on the House floor saying that this is a crime scene,” Jeffries said. “It’s a crime scene, going after the health, and the safety, and the well-being of the American people.”
And as Democrats, he said, “We want no part of it.”
Tensions ran high. As fellow Democrats chanted Jeffries’ name, a top Republican, Rep. Jason Smith of Missouri, chairman of the House Ways and Means Committee, called his speech “a bunch of hogwash.”
Hauling the package through the Congress has been difficult from the start. Republicans have struggled mightily with the bill nearly every step of the way, quarreling in the House and Senate, and often succeeding only by the narrowest of margins: just one vote.
The Senate passed the package days earlier with Vice President JD Vance breaking the tie vote. The slim majority in the House left Republicans little room for defections.
Once Johnson gaveled the tally, Republicans cheered “USA!” and flashed Trump-style thumbs-up to the cameras.