He said the shooting began when the crowd attacked a compound used by a religious militia linked to the country's powerful Revolutionary Guard.
Other sources told the BBC as many as six people might have died in the incident.
The AFP news agency reported that police fired tear gas and groups of protesters set motorbikes alight.
A BBC correspondent said there had also been gunfire in the north of the city - traditionally an anti-government stronghold - and that the security forces appeared to be hunting down protesters.
There was a large police presence on major streets of the city on Monday night, but evidence of few ordinary people, our correspondent added.
Earlier, the demonstrators had gathered in Tehran's Enghelab (Revolution) Square, chanting pro-Mousavi slogans, before marching to Azadi Square.
"Mousavi we support you. We will die, but retrieve our votes," they shouted, many wearing the green of Mousavi's election campaign.
Fire on the streets of Tehran as mass protests continue
And Mr Mousavi eventually appeared, addressing the crowd from the roof of his car.
"The vote of the people is more important than Mousavi or any other person," he told his supporters.
His wife, Zahra Rahnavard, a high-profile supporter of her husband's campaign, later said they would keep up their protests. "We will stand until the end," she told the AFP.
The renewed protests come after Mr Mousavi and fellow defeated candidate Mohsen Rezai filed official complaints against the election result with the Guardian Council - the country's powerful clerical group.
More than 100 opposition figures arrested, including the brother of ex-reformist President Khatami
Local and international phone and text message services interrupted
Social networking and newspaper websites blocked
"Heavy electronic jamming" from inside Iran disrupts BBC Persian TV service
International journalists arrested and asked to leave
Iranian newspapers do not carry reports of the violence
State television reported that Supreme Leader Ayatollah Ali Khamenei, who has upheld the election result, urged the Guardian Council to "precisely consider" the complaints.
The 12-member council is due to meet Mr Mousavi and Mr Rezai on Tuesday.
Its head said the decision would be taken soon.
"I hope it will not take long that the noble people will see that the question has been examined in the best way and we will give the result to the people," Ayatollah Ahmad Jannati told state television on Monday.
But the Iranian leadership has put itself in an impossible position, our Tehran correspondent says.
He says that Ayatollah Khamenei has given his complete endorsement to the election result and to President Ahmadinejad, and by doing so he has put at risk the very foundations of the Islamic republic.
And Mr Mousavi's website quoted him as telling crowds on Monday that he was "not very optimistic" about the judgment of the Guardian Council.
"Many of its members during the election were not impartial and supported the government candidate," Mr Mousavi said.
Dozens of opposition activists have been arrested since the protests began, while internet sites appear to have been blocked and the media heavily restricted.
UN Secretary-General Ban Ki-moon said he was following the situation closely.
"The position of me and the United Nations is that the genuine will of the Iranian people should be fully respected," he told reporters.
EU foreign ministers expressed "serious concern" and called for an inquiry into the conduct of the election, while France and Germany each summoned their Iranian ambassadors to explain what was going on.
Ahmadinejad supporters protested at French and UK embassies in Tehran
German Chancellor Angela Merkel criticised the use of "completely unacceptable" force against protesters and called for a "transparent evaluation of the election result".
Groups of Ahmadinejad supporters gathered outside French and British embassies in Tehran, protesting against what they consider to be foreign interference in Iran's affairs.
"We have gathered here to protest the hidden interference of the Brits and the world, who are trying to create chaos in our country," one protester said.
The French government issued a statement saying they had told Iranian diplomats that security forces "must protect the French embassy".
Among the countries congratulating Mr Ahmadinejad on his victory were Iraq, Afghanistan, Venezuela and North Korea.
Are you in Iran? What do you think of the current situation? If you have any information you would like to share with the BBC you can do so using the form below:
A selection of your comments may be published, displaying your name and location unless you state otherwise in the box below.
The BBC may edit your comments and not all emails will be published. Your comments may be published on any BBC media worldwide.
This page is best viewed in an up-to-date web browser with style sheets (CSS) enabled. While you will be able to view the content of this page in your current browser, you will not be able to get the full visual experience. Please consider upgrading your browser software or enabling style sheets (CSS) if you are able to do so.