The crowds gathered outside Tehran’s Amirkabir University, their faces illuminated by the weak winter sun, were hundreds strong, and they were angry.

Grief over the deaths of 176 people killed when their plane came down outside Tehran had turned to fury overnight, after the government admitted that the Iranian military had shot down the airliner “unintentionally”, and promised an investigation.

“Resignation is not enough – we need prosecutions,” they chanted, raising their fists as traffic slowed to a crawl around them. “Shameless,” shouted others.

As darkness fell, the chants got harder, effectively calling for a vote on the government itself, and attacking Iran’s supreme leader, Ayatollah Ali Khamenei. “The way to save the people? Referendum, referendum,” the crowd shouted.

The government’s blunt admission of responsibility was an unexpected shift after days of strident denial about any official role in the disaster. There was speculation that Tehran had changed position quickly to try to contain the fallout from the tragedy, but public shock had quickly given way to horror. “They say they will investigate the incident, but so what? It won’t bring anyone back to life,” said a woman called Nastaran, who lives in Shahedshahr, the town nearest to the crash site. “Prosecuting the man who did this won’t change anything. People were happy after we took revenge on the Americans. That feeling has vanished now.”

Many of those on board Ukraine International Airlines Flight 752 were Iranians, or Canadians of Iranian heritage. “They killed our own sons and daughters and they are happy that they took revenge. Wow, what a revenge,” said Maryam, out grocery shopping in Tehran.

The plane was downed hours after Tehran launched missile strikes against American bases in Iraq in response to the US killing of top Iranian general Qassem Suleimani. The operator who hit Flight 752 apparently mistook it for an American missile launched in retaliation. Some expressed frustration that the military appeared to have acted out of panic. “They were too afraid of America’s response so they killed our own people,” said Bijan, another shopper.

A sense of solidarity had unified Iran after Suleimani’s death, with even many of those who were ambivalent about his legacy of proxy wars across the region angry at the nature of his assassination.

Facebook Twitter Pinterest Wreckage at the crash site outside Tehran, which is being rapidly cleared. Photograph: Ebrahim Noroozi/AP

That goodwill appears to have evaporated. An outpouring of official regret – including the commander of the air force, which shot down the plane, saying “I wish I could die” – did little to quell the anger. Even media outlets that are normally government allies, such as the rightwing Tasnim news agency, which has ties to Suleimani’s Revolutionary Guards, attacked the way the tragedy was handled.

“The catastrophic way the information was spread to people is just as bad as the catastrophe itself,” Tasnim’s editor in chief, Kian Abdollahi, said on Twitter. “The officials who reported wrongly to the media are responsible. They make us all ashamed.”

And on state-controlled TV there was rare, if mild, criticism: “They should have announced it sooner,” said one man. “No planes should have been able to take off that day.”

Outside Iran, the country won some respect for admitting its role relatively quickly; many observers made comparisons with Russia’s still unacknowledged role in the downing of flight MH17 over Ukraine in 2014.

But inside Iran there was mostly fury at the delay, and anger that the admission appeared to have been prompted at least in part by external investigators uncovering damning evidence gleaned from photos, video footage and other outside sources.

“The saddest point of all this is that if Canada and Ukraine had not been looking for the cause of the crash, right now [state TV] would still be broadcasting reports to the people about the power of the air force,” said satirist Ahmed Kazemi on Twitter.

In Canada, home to over a third of the victims, there were also calls for further investigations. “There are no winners in this story and only communities left devastated,” tweeted Payman Parseyan, former president of the Iranian Heritage Society of Edmonton.

Canadian officials have expressed frustration over an inability to access the crash site, despite a formal invitation from Iran to do so. François-Philippe Champagne, Canada’s foreign minister, told reporters on Friday evening that only two of 10 members of the delegation had been granted visas for travel to Iran while they waited in Turkey.

Although the crash site has largely been cleared already, the area is still swarming with security forces. In the nearby town of Shahedshahr, taxi drivers were refusing to take passengers to the area.

“I am not looking for trouble,” one said. “People won’t even talk about it on the streets because of the secret service officers everywhere.”

There were still some people defending the government, however, insisting that even tragic mistakes could not be entirely prevented in times of war. “It was just human error, like many things that the Americans have done and said are human errors,” said Dawood, a veteran of Iran’s war with Iraq. “This was a human error and the first mistake of this kind in the 40-year history of the Islamic Republic, so we shouldn’t say it will change our image in the world.”

Additional reporting by a reporter in Iran, Michael Safi in Lebanon and Leyland Cecco in Canada