Wednesday's legislation would give the government enough borrowing leeway to meet three months' worth of obligations, delaying a showdown next month that Republicans fear they would lose. The authorization ends on May 19.
It also contains a provision that slaps at the Senate, which hasn't debated a budget since 2009, by withholding the pay for either House or Senate members if the chamber in which they serve fails to pass a budget plan.
On the floor, Rep. Jerrold Nadler, D-N.Y. argued against the measure. "This is institutionalized bribery and extortion," he said. "It should never be considered. What this provision says is if you vote the way we think you ought to vote, you'll get paid."
This "no budget, no pay" idea had previously been regarded by many as a gimmick but has been given new life by Boehner as a "reform" to pair with an increase in the so-called debt limit. Boehner previously had insisted that any increase in borrowing authority to avoid lapses in payments to contractors, unemployment benefits or Social Security checks -- and possibly even interest payments on U.S. Treasury obligations -- be matched dollar for dollar with spending cuts.
Incoming Senate Budget Committee Chairman Patty Murray, D-Wash., announced Wednesday morning that Democrats would indeed advance a budget. She said the announcement had nothing to do with the congressional pay issue. Murray said last year's election proved that the public agrees with Democrats on budget issues like raising taxes on wealthier earners.
House Republicans had appeared confident that they'd pass the measure even though most Democrats appeared against it because it sets the stage for another potential debt crisis this summer. (Read More: Why Repealing the Debt Ceiling Is Unconstitutional)
But the White House weighed in Tuesday with a statement that the administration would not oppose the measure, even though Obama just last week dismissed incremental increases in the debt ceiling as harmful to the economy.
(Read More: Could Financial Markets Handle a US Debt Default?)