Reps. Ed Royce and Eliot Engel sponsored the bill, which requires the Trump administration to identify for sanctions the companies and individuals inside and outside of Iran that are the main suppliers of Tehran's ballistic missile programs.
Lawmakers voted 423-2 to pass the measure.
Royce, a California Republican, is chairman of the Foreign Affairs Committee and Engel, who is from New York, is the panel's top Democrat. Both opposed the nuclear agreement when it was forged two years ago, but neither lawmaker is in favor of ditching the deal now.
Lawmakers are aiming to hold Iran accountable for what they say is reckless, destabilizing behavior while they debate how to meet Trump's new demands for fixing what he and other Republicans argue are serious flaws with the nuclear agreement.
Royce has said that despite the deal's defects, he wants the US and other nations that are party to the accord to "enforce the hell out of it." That includes making certain that international inspectors have better access to possible nuclear sites in Iran, according to Royce, and addressing "sunset" provisions in the agreement that will begin to expire in year 10 of the accord, heightening concerns Iran may be able to build an atomic bomb even before the end of the pact.
Engel has said unwinding the agreement would send a dangerous signal to allies and adversaries alike. He backs aggressive policing of the agreement to ensure Iran doesn't violate the terms.
The House vote comes less than two weeks after Trump refused to certify that Iran is complying with the accord, which is aimed at preventing Iran from assembling an arsenal of atomic weapons. But Trump, breaking his campaign pledge to rip up the agreement, did not pull the US out or re-impose nuclear sanctions against Iran.
Trump instead punted the issue to Congress, instructing lawmakers to toughen the law that governs US participation in the deal and calling on the other parties to the accord to fix a series of deficiencies. If they can't, Trump said he would likely pull the US out of the deal and reinstate previously lifted US sanctions on Iran's nuclear program. That would probably be a fatal blow for the pact between Iran and world powers.
The vote on the Iran sanctions bill came a day after the House passed bipartisan bills to block the flow of illicit money to Iran-backed Hezbollah militants and to sanction the group for using civilians as human shields. Lawmakers consider Hezbollah to be Tehran's leading terrorist proxy.