Passage of the bill on a 237-185 vote followed the disclosure a day earlier that nine of the nation's biggest banks, which are receiving billions of dollars in federal bailout aid, paid individual bonuses of $1 million or more to nearly 5,000 employees.
"This is not the government taking over the corporate sector," Rep. Melvin Watt, D-N.C, said of the House action. "It is a statement by the American people that it is time for us to straighten up the ship."
Aware of voter outrage about the bonuses, Republicans were reluctant in Friday's debate to push back, even though they voted overwhelmingly against the bill. They said severe restrictions should apply only to banks that accept government aid.
The legislation's ban on risky compensation would apply to any firm with more than $1 billion in assets, including bank holding companies, broker-dealers, credit unions, investment advisers and mortgage buyers Fannie Mae and Freddie Mac.
The White House and Senate Democrats haven't fully embraced the measure, leaving its prospects uncertain. The Senate Banking Committee planned to take up the proposal in the fall as part of a broader bill overhauling financial regulations.
"Obviously it has some important things that we think need to become law, and we'll take a look at the full bill," White House spokesman Robert Gibbs said Friday.
Treasury Secretary Timothy Geithner called it a "positive step" toward increasing accountability.
The legislation includes President Barack Obama's suggestion that shareholders get a nonbinding vote on compensation packages. It also would prohibit members of compensation committees from having financial ties to the company and its executives, as Obama wanted.
But House Democrats added a provision that would require regulators to issue new guidelines prohibiting pay packages that encourage "inappropriate risks" that could "threaten the safety and soundness" of the institution or "have serious adverse effects on economic conditions or financial stability."
Rep. Barney Frank, chairman of the House Financial Services Committee, said the extra regulation would ensure that bankers and traders who take big risks and lose on them don't continue to get rewarded anyway.
Without such restraint, "the company loses money and the economy may suffer, but the decision makers do not," said Frank, D-Mass.
Corporate pay became a hot-button issue for the public and Congress this spring when American International Group Inc. paid $165 million in bonuses to its employees after accepting $182 billion as a federal bailout. Among the employees in line for the rewards were those who worked in the financial products division, which underwrote the risky credit derivative contracts that nearly destroyed the company.
The House angrily responded by voting to tax away the bonuses, but momentum behind that legislation waned as Obama warned against vilifying Wall Street and investors who were crucial to restoring the economy.