The treasury also announced sanctions against individuals and groups to target "the government of Iran's support for terrorism and terrorist organisations," that include Hezbollah, Hamas, Islamic Jihad and the Taliban.
Senior members of Iran's elite Revolutionary Guard were among those named, including Mohammad Reza Zahedi and Hossein Musavi - a commander who, the treasury said, had "provided financial and material support to the Taliban".
It also accused the Revolutionary Guard of running aid operations in Iraq, Afghanistan and Lebanon as cover for intelligence operations as well as funding armed groups.
The 21 firms included two Belarus-based banks, two Germany-based investment firms, and mining and engineering companies in Japan, Germany, Luxembourg, Italy and Iran.
US citizens and businesses will now be barred from doing business with the proscribed companies.
It is the latest in a series of US moves aimed at increasing pressure on Iran, which Western governments say is trying to build a nuclear weapon. Iran denies the charge and says its nuclear progamme is for peaceful purposes.