President Donald Trump has said the US military was "cocked and loaded to retaliate" against Iran, but he changed his mind 10 minutes before planned strikes.
Attacks on three sites were planned in response to the shooting down of a United States unmanned drone this week.
Mr Trump said he had called off strikes after being told 150 people would die.
He tweeted: "10 minutes before the strike I stopped it, not proportionate to shooting down an unmanned drone."
The late reversal was first reported by the New York Times on Thursday night. The newspaper said the operation had been "in its early stages" when Mr Trump stood the US military down.
"I am in no hurry," Mr Trump said on Friday. "Our military is rebuilt, new, and ready to go, by far the best in the world."
Earlier Iranian officials said Tehran had received a message warning that a US attack on Iran was imminent but saying Mr Trump wanted talks on a range of issues.
Notion of clear plan undermined, says top Democrat
Adam Smith, the chair of the House Armed Services Committee, criticised Mr Trump for revealing his last-minute change of mind.
"I do think that if you're trying to show a clear policy, trying to show resolve in a confrontation with an adversary it's not smart to publicly say that you were going to do one thing but then changed your mind 10 minutes before you did it. It undermines the notion we have a clear plan."
However, Mr Smith acknowledged the US president had made a genuine effort to wrestle with the right response.
Democratic House Speaker Nancy Pelosi said America had no appetite for war with Iran, while the leading candidate for the Democratic presidential nomination, Joe Biden, called Mr Trump's Iran strategy a "self-inflicted disaster".
Russian President Vladimir Putin said a war would be a "catastrophe with unpredictable consequences".
United Nations Secretary-General Antonio Guterres urged all parties to exercise maximum restraint.
The US Federal Aviation Administration issued an emergency order prohibiting US airlines from operating in an overwater area of Tehran-controlled airspace nearby in response.
Airlines from other countries, including Britain's British Airways, the Dutch carrier KLM, Emirates, and Qantas, have also said they will re-route their flights to avoid parts of Iran.
Mr Trump said Iran had downed the drone on Monday, despite an earlier US military statement that the incident happened on Wednesday (US time).
Tehran says the unmanned US aircraft entered Iranian airspace early on Thursday morning. The US maintains it was shot down in international airspace.
Tensions have been escalating between the two countries, with the US recently blaming Iran for attacks on oil tankers operating in the region. Iran has announced it will soon exceed international agreed limits on its nuclear programme.
Last year, the US unilaterally pulled out of a 2015 nuclear deal aimed at curbing Iran's nuclear activities.
"Iran can NEVER have nuclear weapons," Mr Trump said in his tweets on the aborted strikes - also revealing that increased economic sanctions against Iran were "added last night".
The US has now asked the United Nations Security Council to meet on Monday to discuss Iran, Reuters news agency reports.
The New York Times first published details of the apparent planned strikes late on Thursday night in Washington.
As late as 23:00 GMT, it said, US military and diplomatic officials still expected the strikes on agreed targets, including Iranian radar and missile batteries, to take place.
"Planes were in the air and ships were in position, but no missiles had been fired when word came to stand down," the newspaper reported, citing an unnamed senior administration official.
The strikes were set to take place just before dawn on Friday to minimise risk to the Iranian military or to civilians, the newspaper added.
Several other US media outlets then independently reported the same but their accounts differed on the role of the Pentagon.
The Associated Press quoted a US official as saying the strikes had been recommended by the Pentagon and had been among options presented to senior administration officials.
According to the New York Times, top Pentagon officials warned a military response could result in a spiralling escalation with risks for US forces in the region.
The operation was called off after MrTrump spent most of Thursday discussing Iran with his national security advisers and congressional leaders, AP reports.
US Secretary of State Mike Pompeo and National Security Adviser John Bolton had pushed for a hardline stance, but congressional leaders urged caution, the agency says.
Democratic House Speaker Nancy Pelosi said the US had no appetite for war with Iran, while the leading candidate for the Democratic presidential nomination, Joe Biden, called Mr Trump's Iran strategy a "self-inflicted disaster".
Senate Majority Leader Mitch McConnell, a Republican, said: "The administration is engaged in what I would call measured responses."
The top Democrat in the US Senate, Chuck Schumer, said: "The president may not intend to go to war here, but we're worried that he and the administration may bumble into a war."
It remains unclear if the apparent strikes could still go ahead.
What happened with the drone?
On Thursday, Iran's Islamic Revolutionary Guard Corps (IRGC) announced its air force had shot down a US "spy" drone in the early hours after the unmanned aircraft violated Iranian airspace near Kuhmobarak in the southern province of Hormozgan.
IRGC commander-in-chief Maj-Gen Hossein Salami said the drone's downing was a "clear message" to the US that Iran's borders were "our red line".
Iranian Foreign Minister Javad Zarif tweeted that the US drone had taken off from the United Arab Emirates in "stealth mode".
"We've retrieved sections of the US military drone in our territorial waters where it was shot down," he wrote.
At 00:14 US drone took off from UAE in stealth mode & violated Iranian airspace. It was targeted at 04:05 at the coordinates (25°59'43"N 57°02'25"E) near Kouh-e Mobarak.— Javad Zarif (@JZarif) June 20, 2019
We've retrieved sections of the US military drone in OUR territorial waters where it was shot down. pic.twitter.com/pJ34Tysmsg
The US military's Central Command later confirmed that a US Navy Broad Area Maritime Surveillance (BAMS-D) aircraft had been shot down by an Iranian surface-to-air missile.
However, US military officials maintain the drone was in international airspace over the Strait of Hormuz at the time.
The ISR Flight path and grid plots for the RQ-4A shot down by Iran in the Strait of Hormuz. “This was an unprovoked attack on a U.S. surveillance asset that had not violated Iranian airspace at any time …” – Lt Gen Joseph Guastella, @USAFCENT pic.twitter.com/uczI5HF68b— U.S. Central Command (@CENTCOM) June 20, 2019
In response, the US Federal Aviation Administration (FAA) issued an emergency order on Thursday prohibiting US airlines from operating in an overwater area of Tehran-controlled airspace nearby in response.
It said there were "numerous civil aviation aircraft operating in the area" at the time the US drone was shot down.
The Dutch carrier KLM and Qantas of Australia have also said they will re-route their flights to avoid parts of Iran.
What has been the reaction?
Speaking on Thursday, Mr Trump said Iran had "made a big mistake". The US, he said, had scientific evidence the drone was in international airspace when it was shot from the sky.
Asked about his response to the incident and whether or not he would go to war with Iran, the president repeatedly replied: "You'll find out".
He also suggested that the shooting-down could have been caused by human error.
Russian President Vladimir Putin has warned that war between the US and Iran would be a "catastrophe with unpredictable consequences".
UN Secretary General Antonio Guterres has urged all parties to exercise maximum restraint.