The bill, which raises taxes for the wealthy, came after lengthy talks between Vice-President Joe Biden and Senate Republicans.
The House is due to consider it later. Spending cuts have been delayed for two months to allow a wider agreement.
Congress missed the deadline to pass a bill, but few effects will be felt as Tuesday is a US public holiday.
Tax cuts approved during the presidency of George W. Bush formally expired at midnight.
Without approval in the House, huge tax rises for virtually all working Americans will kick in automatically.
Analysts warned that if the full effects of the fiscal cliff were allowed to take hold, the resulting reduction in consumer spending could spark a new recession.
The compromise deal reached on Monday seeks to avoid this by extending the tax cuts for Americans earning under $400,000 – up from the $250,000 level Democrats had originally sought.
A huge spending cut that would see $1.2 trillion shorn from the federal budget over 10 years has been deferred for two months, allowing Congress and the White House to reopen negotiations.
The Senate approved the compromise bill by 89-8.
“If we do nothing, the threat of a recession is very real,” Senate Majority Leader Harry Reid, a Democrat, said.
“Passing this agreement does not mean negotiations halt, far from it.”
In addition to the income tax rates and spending cuts, the package includes:
• Rises in inheritance taxes from 35% to 40% after the first $5m for an individual and $10m for a couple
• Rises in capital taxes – affecting some investment income – of up to 20%, but less than the 39.6% that would prevail without a deal
• One-year extension for unemployment benefits, affecting two million people
• Five-year extension for tax credits that help poorer and middle-class families
President Barack Obama welcomed the Senate vote.
“Leaders from both parties in the Senate came together to reach an agreement that passed with overwhelming bipartisan support today that protects 98% of Americans and 97% of small business owners from a middle class tax hike,” he said in a statement.
“While neither Democrats nor Republicans got everything they wanted, this agreement is the right thing to do for our country and the House should pass it without delay.”
Senate Minority Leader Mitch McConnell, a Republican, said: “It took an imperfect solution to prevent our constituents from a very real financial pain, but in my view, it was worth the effort.”
Many of the Republicans who dominate the House dislike the deal and may stand on their principle.
Speaker John Boehner said the House would consider the deal but left open the possibility of amending the Senate bill – which would spark another round of legislation.
“Decisions about whether the House will seek to accept or promptly amend the measure will not be made until House members… have been able to review the legislation,” John Boehner and other House Republican leaders said in a statement.
The current House can legislate until Wednesday, when it is replaced by a new chamber chosen during last November’s election.
w1R4YOdWzPkThe US House Ethics Committee has voted to release its report on former Republican Representative…
ABC News has agreed to pay $15 million to President-elect Donald Trump to settle a…
South Korea’s parliament has voted to impeach President Yoon Suk Yeol over his failed attempt…
Israeli war planes have carried out more than 100 air strikes in Syria on December…
President-elect Donald Trump has threatened to impose 100% tariffs on the BRICS countries if they…
Syrian troops have withdrawn from the city of Aleppo following an offensive by rebels opposed…