WASHINGTON - The Senate was poised to hand Barack Obama a huge Christmas Eve victory by approving an $871 billion overhaul of U.S. health care, capping months of struggle in the face of solid Republican opposition.

The vote Thursday on the bill extending health care coverage to 30 million uninsured Americans brings Obama's closer to achieving his top domestic priority. But the final step may be the hardest: reconciling the Senate bill with a significantly different version already approved by the House of Representatives.

A compromise would have to be approved by both chambers -- and could collapse if Obama loses the support of any Democrat in the Senate or a handful in the House.

Passage of the bill Thursday was all but inevitable. On Wednesday, Democrats prevailed on the last of three procedural votes requiring the support of all 58 of its members, plus two allied independents. Thursday's vote will require only a simple majority of the 100-member body.

"It has been a long time coming," said a leading Democratic senator, Max Baucus. "I thank God that I have lived to see this day."

The bill's passage will offer Obama a bright end to an often rocky year that began with huge hopes following his election victory. His public approval level now hovers around 50 per cent as he copes with high unemployment, increasing violence in Afghanistan and the divisive health care debate.

Obama delayed his Christmas vacation in Hawaii until the Senate vote, a sign of its importance to his presidency. The legislation will likely shape the 2010 congressional elections and possibly Obama's 2012 re-election bid.

Republicans have been almost unanimously against it, saying it will lead to higher taxes, greater deficits and government meddling in health care decisions.

"This bill slid rapidly down the slippery slope to more and more government control of health care," Republican Charles Grassley said on the Senate floor.

Some liberal Democrats also have not been enthusiastic. The Senate bill would leave about 24 million people uninsured. There are no plans for a government-run national health care system that would cover all Americans. Even a more modest proposal to have a government-run health plan compete with private insurers had to be stripped from the Senate bill in the face of opposition from moderate Democrats.

Instead, Obama's plan would build on the current system, in which health insurance is provided primarily by employers. Americans would be required to get coverage and subsidies would be available to lower- and middle-income families. Unpopular insurance company practices such as denying coverage to people with pre-existing health conditions would be banned.

Whatever their reservations, most Democratic lawmakers backed Obama, recognizing they may never get a better opportunity to change a health care system that leaves nearly 50 million people uninsured. Democrats are in the rare position of controlling the White House while having strong majorities in both chambers of Congress.

That could change after the November midterm elections, when opposition parties frequently pick up seats. The health care bill itself could deepen Democratic losses. Republicans are targeting moderate Democrats from conservative states who supported the bill.

Obama and Democratic leaders have had to offer concessions and political favours to keep those moderate Democrats on board. In the House, Democratic leaders made compromises on abortion to win a narrow 220-215 vote on its health bill, with 39 of their own members opposing the bill. Crafting the Senate bill was even more difficult because Democrats needed the votes of all 60 of its members and allies to overcome Republican procedural hurdles.

The abortion provisions that clinched the House vote could prove a major obstacle to reconciling the two chambers' bills. The Senate has already rejected including that language in its version. Senators may also balk at the House's income tax increase for high-earning Americans.