The US Senate has narrowly approved a landmark tax bill in a major step towards delivering a legislative victory to President Donald Trump.

Vice President Mike Pence, who presided over Saturday’s vote, announced the 51-49 result to applause from Republicans. No Democrat voted for the bill.

The plan, entitled the Tax Cuts and Jobs Act (TCJA), amounts to the largest tax overhaul in the US since 1986, and will add $1.4 trillion over 10 years to the country’s budget deficit.

It cuts the corporate tax rate from 35 percent to 20 percent and offers modest reductions for all income levels.

Praising the bill, Trump said on Twitter, “We are one step closer to delivering massive tax cuts for working families across America”.

Mitch McConnell, the Republican leader in the Senate, said the reforms would “make America more competitive and keep jobs from being shipped offshore and provide substantial relief to the middle class”.

Democrats, however, derided the bill as a poor deal for the middle-class and poor Americans.

Chuck Schumer, the Senate Democratic leader, described it as “regressive” and “ill-suited for the condition of the country”.

Democrat Senator Bernie Sanders accused Republicans of “looting the Treasury” while Senator Jon Tester said he had received the 479-page bill just a few hours before the vote. One page had “hand scribbled policy changed on it that can’t be read”, he said.

At least four Republican Senators, whose votes had been in doubt over concerns about the deficit, said they would back the bill on Friday after McConnell agreed to make changes.

The lone Republican dissenter, Senator Bob Corker, said he was disappointed by the vote.

“I wanted to get to yes,” Corker said in a statement, “But at the end of the day, I am not able to cast aside my fiscal concerns and vote for legislation that … could deepen the debt burden on future generations.”

The Republicans hold a 52-48 Senate majority. The Senate and the House must now negotiate a single bill before the reforms can be signed into law.

The Republican-led House approved its own tax bill in November.

“Now, we will move quickly to a conference committee so we can get a final bill to President Trump’s desk,” House Speaker Paul Ryan said in a statement.

Trump said he hoped to sign the final bill before Christmas.