"The Iranian regime is now on notice: the world will be watching what you do," Haley told an emergency meeting of the UN Security Council on the situation in the Islamic republic.
The United States called the meeting despite fierce criticism from Russia, which accused Washington of interfering in Iran's internal affairs.
"The Iranian people are rising up in over 79 locations throughout the country," Haley told the council.
"It is a powerful exhibition of brave people who have become so fed up with their oppressive government that they are willing to risk their lives in protest."
Haley accused the government of funding a pro-regime military campaign in Syria, backing Shiite militias in Iraq and supporting a crony elite while ordinary Iranians struggle.
The Iranian people are telling their government to "stop the support for terrorism, stop giving billions of our money to killers and dictators, stop taking our wealth and spending it on foreign fighters and proxy wars," said Haley.
A total of 21 people have died and hundreds have been arrested since December 28 as protests over economic woes turned against the Iranian regime, with attacks on government buildings and police stations.
Pro-regime rallies were held in Tehran after Friday prayers, the third straight day of marches in support of the government, which has declared the unrest over.
Diplomats had expected Russia to call a procedural vote to try to block the meeting, but in the end, Moscow's envoy did not make that request.
Heading into the council chamber, Haley gave reporters a thumbs-up and answered "yes" when asked if she had the nine votes needed for the meeting to go ahead.
Over the past days, the United States has lobbied hard to win support for the Security Council meeting, especially from the six new non-permanent council members, diplomats said.
For a new agenda item to be discussed at the Security Council, at least nine of the 15 council members must support holding the meeting. No vetoes apply.