The Security Council "rebuffed the US' naked attempt to hijack its mandate", wrote Zarif on Twitter.
"Majority emphasised the need to fully implement the JCPOA (nuclear deal) and to refrain from interfering in internal affairs of others. Another FP (foreign policy) blunder for the Trump administration."
The United States had pushed for the UN meeting on Friday to discuss the five days of protests that hit Iran last week, leading to the deaths of 21 people and hundreds of arrests.
"The Iranian regime is now on notice: the world will be watching what you do," Haley warned.
More From This Section
But Russia's envoy shot back that if the US view holds, the council should have also discussed the 2014 unrest in the US suburb of Ferguson, Missouri over the police shooting of a black teenager or the US crackdown on the Occupy Wall Street movement.
Britain and France reiterated that Iran must respect the rights of protesters, but French Ambassador Francois Delattre said the "events of the past days do not constitute a threat to peace and international security".
Iran's Ambassador Gholamali Khoshroo slammed the meeting as a "farce" and a "waste of time" and said the council should instead focus on addressing the Israeli-Palestinian conflict or the war in Yemen.
Iranian authorities have declared the unrest over, and held three days of large pro-government rallies across the country between Wednesday and Friday.
Iran signed a nuclear deal with the United States, Britain, France, Germany, Russia and China in 2015, easing sanctions in exchange for curbs to the country's nuclear programme.
Trump must decide every few months whether to continue waiving nuclear sanctions, with the next deadline due yesterday.
Analysts say there is a chance he may use the latest unrest as a pretext to reimpose sanctions.