Lawmakers are angry over what they say is Iran's drive for nuclear weapons and alleged role in international terrorism, and vowed to choke off its attempt to procure vitally-needed foreign funds.
The bill, which passed by a huge 408-6 majority, requires the naming of foreign companies with more than 20 million dollars in Iran's energy sector, and paves the way for US federal and state pension funds to divest from such firms.
It also offers protection for investment managers who siphon money out of the sector and place it elsewhere.
The measure was similar to a bill which passed 418-1 earlier Tuesday, aiming to promote divestment from firms that do business in Sudan, in what backers said was the shadow of Darfur "genocide."
The United States already has in place a slew of economic sanctions on Iran dating from the 1979 Islamic revolution.
If the latest measures become law, they could only be cancelled if a US president certifies Iran has no links to international terrorism, or has halted development of nuclear, chemical and biological weapons and ballistic missiles.
The United Nations has also toughened sanctions on Iran to punish its refusal to halt uranium enrichment, which the West suspects is aimed at building a nuclear bomb.
Tehran denies the charge.
"The purpose of (of the bill) is to change the behavior of multi-national corporations and so change the behavior of Iran's government," said Democratic representative Brad Sherman, of California.
Democratic presidential hopeful Barack Obama has introduced a similar bill in the Senate encouraging investors to cash out of projects that benefit Iran.
In the absence of US energy giants, European and Japanese companies have profited from exploration and distribution of oil and natural gas from Iran.