The vote came after fierce debate among lawmakers over the terms of the accord, which was struck on July 14 but has faced a rough ride from hardliners in Tehran and in the US Congress.
A motion to approve the nuclear deal was however passed with 161 votes in favour, 59 against and 13 abstentions.
State television did not broadcast Tuesday's vote but Iranian media outlets reported angry scenes including some MPs shouting that their concerns had not been addressed.
A notorious critic of the nuclear diplomacy, Hamid Rasaie, was pictured on social media holding up a piece of paper declaring: "This is an official violation of law. Parliament is a sham."
Another ultraconservative MP, Mehdi Kouchakzadeh, was quoted as saying: "This is no one's decision, it is Larijani's decision," a reference to the refusal of parliament speaker Ali Larijani to allow him to speak.
A tally of votes to pass the Joint Comprehensive Plan of Action (JCPOA), the nuclear deal's official name, said 250 of Iran's 290 lawmakers were present and 17 of those in the chamber did not vote.
The nuclear agreement between Iran and the so-called P5+1 group (Britain, China, France, Russia and the United States plus Germany) came after almost two years of diplomacy.
- Sanctions to be lifted -
Only lawmakers in the United States and Iran, sworn enemies since the Islamic revolution in 1979, had insisted on voting on it.
The deal, which will lift nuclear-related sanctions on Iran in return for curbs on its atomic activities -- the Islamic republic denies seeking a bomb -- has been widely hailed as a diplomatic triumph that averts military confrontation and another possible war in the Middle East.
Sanctions relief promises to open Iran's long-hobbled but resource rich economy -- it has the world's fourth highest oil and second highest gas reserves -- to foreign investment.
But opponents of the diplomacy, including Israel and American lawmakers, say it will bolster Iran's regional influence and will not halt a dash for atomic weapons should the Islamic republic want them.
Signup to our newsletter and follow us on Facebook and Twitter!
Tuesday's vote, however, again reiterated a permanent ban on the bomb issued by the Islamic republic's supreme leader Ayatollah Ali Khamenei.
Inspections of military sites, one of the most contentious areas of the deal, will be decided on a case by case basis by Iran's highest security committee, the Supreme National Security Council, the motion said.
The SNSC is chaired by President Hassan Rouhani, who was elected on a promise to end the nuclear dispute, and he reports to Khamenei who has the final word, having earlier laid down red lines for negotiators.
- Rouhani to address nation -
Members of the US Congress failed in September to torpedo the deal, with President Barack Obama's White House securing enough support in the Senate to protect the agreement.
The accord was debated in Tehran for months, with some MPs repeatedly warning of holes in the text.
Rouhani, who is expected to speak on state television later Tuesday, and other officials have faced attacks over the way they engaged with the US and other countries.
In selling the deal to sceptics, Rouhani said his negotiators protected the future of Iran's nuclear programme while ensuring sanctions, that have ravaged its economy, would end.
A government statement after Tuesday's vote thanked parliament for approving the agreement.
But a parliamentary debate on Sunday showed a clear divide remains.
Ali Akbar Salehi, head of Iran's Atomic Energy Agency, went on the attack after he and other government negotiators were accused of having capitulated to the West.
One lawmaker had even threatened to kill him because of concessions made in the talks, Salehi said.
Iranian officials have said sanctions should be lifted by the end of the year or January 2016 at the latest.
However Iran also has to satisfy the International Atomic Energy Agency, the UN nuclear watchdog, of the exclusively peaceful nature of its atomic programme.
The IAEA faces a December 15 reporting deadline to resolve what it had termed "ambiguities" over Iran's past nuclear activities.