Defying a White House veto, lawmakers voted 218-210 in favour of Republican House Speaker John Boehner's measure to avert a disastrous US debt default, setting up a Senate vote within hours to set aside the bill and begin crafting a compromise acceptable to Democrats.
"The economy is still not creating enough jobs. Americans are worried about finding work. They're worried about our economy, and they're worried about the mountain of debt that's facing them and their children," Boehner said.
"Today, we have a chance to end this debt limit crisis," he declared in an impassioned speech to his colleagues before the vote.
Polarised US politicians have until Tuesday to forge a compromise to raise the USD 14.3 trillion US debt limit and allow cash-strapped Washington to pay its bills, or face a potentially disastrous default on its debt.
Democratic Senate Majority Leader Harry Reid said earlier in the day that he hoped to forge a compromise approach with Republican Senate Minority Leader Mitch McConnell.
No Democrats voted for Boehner's bill, which also drew opposition from about 20 Republicans who deemed it insufficiently tough on spending cuts.
"The bill before us still isn't perfect. No member would argue that it is," said the speaker, who was forced to postpone a vote initially scheduled for Wednesday because of insufficient Republican support to pass it.
But Boehner insisted his measure, which all 53 of the White House's allies in the Senate have pledged to oppose, "reflects an honest and sincere effort" to end the stalemate and sharply assailed President Barack Obama.
"I stuck my neck out a mile to try to get an agreement with the president of the United States," he said, accusing Obama of blocking a final agreement.