The Republican-led US Senate has approved a sweeping $1.5 trillion tax bill, moving their party and President Donald Trump a step closer to the largest overhaul of the US tax code in more than 30 years.
The victory, expected to be sealed within hours, will not come without embarrassment for Republicans, who tripped up on a last-minute procedural snag that forced them to schedule a re-vote by the House of Representatives later in the day.
Republicans shrugged off the mistake.
White House legislative affairs director Marc Short, commenting on the need for a House re-vote, said: "I don't think it's that uncommon for a big piece of legislation like this."
The bill slashes taxes for corporations and wealthy taxpayers, revamps how the United States taxes multinational companies, and creates a tax deduction for the owners of "pass-through" businesses, ranging from small businesses to large real estate and financial enterprises.
The debt-financed bill offers temporary tax rate cuts for some individuals and families, while sharply reducing the number of Americans who itemise deductions on their tax returns and cutting back the number and scope of many available deductions.
"We've had two quarters in a row of 3% growth. The stock market is up. Optimism is high. Coupled with this tax reform, America is ready to start performing as it should have for a number of years", said Senate Republican leader Mitch McConnell after the chamber's vote.
Democratic Senator Chris Van Hollen said the bill will harm millions of middle-class families.
"It contains huge, permanent giveaways for big banks and corporations, and asks our children, millions of working Americans and senior citizens, and future generations to pay the price," he said.
The House passed the measure 227-203 in its first vote on the bill last night, steamrolling Democrats who said it will add $1.5 trillion to the $20 trillion national debt over ten years.
The House then sent the bill to the Senate for action, but a Senate staff official ruled that three minor provisions in the measure had to be removed. They were, and the Senate passed the bill by a 51-48 vote.
Treasury Secretary Steven Mnuchin was on the Senate floor during the vote, shaking hands and exchanging congratulations with Republican senators as protesters in the spectator gallery overlooking the floor chanted: "Kill the bill."
The changes made by the Senate, although small, meant that another House vote was required and it was set for today, with approval expected.
It would then go to President Trump for his signature, enacting it into law.
Republicans see the measure as crucial to defending their majorities in the House and Senate in congressional elections coming in November 2018.
It repeals part of the Obamacare health system and allows oil drilling in Alaska's Arctic National Wildlife Refuge, just two of many items added on to secure votes of support as it rocketed through Congress in mere weeks.
After the Senate vote, Mr Trump responded on twitter.
The United States Senate just passed the biggest in history Tax Cut and Reform Bill. Terrible Individual Mandate (ObamaCare)Repealed. Goes to the House tomorrow morning for final vote. If approved, there will be a News Conference at The White House at approximately 1:00 P.M.— Donald J. Trump (@realDonaldTrump) December 20, 2017
Middle-income households would see an average tax cut of $900 next year under the bill, while the wealthiest 1% of Americans would see an average cut of $51,000, according to the Tax Policy Center, a nonpartisan think tank in Washington.
The bill's House passage yesterday had little evident impact on stock markets, which have rallied for months on the prospect of tax cuts for corporations.