The unilateral US sanctions were passed in addition to new United Nations Security Council sanctions on Iran, passed last month.
The UN penalties, which were signed by traditional backers like China and Russia, were meant to punish Tehran for refusing to reduce by half its uranium enrichment work, the most controversial aspect of its atomic drive.
Mahmoud Ahmadinejad, Iran's president, said on Monday that he would postpone nuclear talks as a "penalty" for the latest UN sanctions.
Iran has said its nuclear programme is for civilian power generation, not military weapons.
'Path of defiance'
"To date, Iran has chosen the path of defiance," Obama said at the signing ceremony, where he accused Tehran of spurning offers for dialogue.
"The door to diplomacy remains open. Iran can prove that its intentions are peaceful. It can meet its obligations under the [nuclear non-proliferation treaty) and achieve the security and prosperity worthy of a great nation," Obama said.
Facing frequent criticism from US Republicans that he is too weak on national security, Obama called the new law the "toughest sanctions against Iran ever passed by the United States congress".
The US Senate and House of Representatives approved the legislation by margins of 99-0 and 408-8 last week.
Companies that provide financing, insurance or shipping services to Iran's energy sector will also be effected.
While Iran has large oil reserves, a lack of investment has left the country producing far below its capabilities. The country also lacks refining capacity for domestic gasoline needs.
Critics have questioned whether the new law, and similar measures being adopted by Europe, will change anything given that Iran is courting investment from emerging markets.