A Turkish policeman crying “Aleppo” and “revenge” shot dead Russia's ambassador to Turkey at an art exhibition in Ankara on Monday, in what Moscow said was a “terrorist act”.

Andrei Karlov died of his wounds after the shooting, which occurred on the eve of a key meeting between the Russian, Turkish and Iranian foreign ministers on the Syria conflict.

Russian Ambassador to Turkey Andrei Karlov. -Reuters

“Today in Ankara as a result of an attack the Russian ambassador to Turkey Andrei Karlov received wounds that he died from,” ministry spokeswoman Maria Zakharova said in televised comments.

“We qualify what happened as a terrorist act.” The Kremlin said President Vladimir Putin had been informed of the attack.

Turkish President Tayyip Erdogan spoke by phone with Russian President Vladimir Putin to share information about the shooting of Moscow's ambassador to Ankara, a Turkish official said.

Dramatic television footage showed a man in a dark suit and tie waving a gun and gesturing in the air at the Ankara exhibition hall.

Key updates

Attacker was a Turkish policeman

Moscow terms it as a "terrorist act"

Three other people wounded

Attack happened at the Cagdas Sanatlar Merkezi in Ankara

Gunman was standing behind the ambassador

The state-run Anadolu news agency said the gunman had been “neutralised” in a police operation, without giving further details.

The incident came after days of protests in Turkey over Russia's role in Syria, although Moscow and Ankara are now working closely together to evacuate citizens from the battered city of Aleppo.

Pictures published by the Hurriyet daily showed at least two men in suits lying flat on the ground as another man brandished a gun.

The mayor of Ankara identified the attacker as a Turkish policeman.

'People fleeing'

The shooting took place at the Cagdas Sanatlar Merkezi, a major art exhibition hall in the Cankaya district of Ankara where most foreign embassies are located including Russia's mission.

“It happened during the opening of an exhibition,” Hurriyet correspondent Hasim Kilic, who was at the scene, told AFP.

“When the ambassador was delivering a speech, a tall man wearing a suit, fired into the air first and then took aim at the ambassador,” said Kilic.

Turkish police secure the area near an art gallery where the Russian Ambassador to Turkey Andrei Karlov was shot dead. -Reuters

“He said something about Aleppo and 'revenge'. He ordered the civilians to leave the room. When people were fleeing, he fired again,” he added.

Protesters in Turkey have held Moscow responsible for human rights violations in Aleppo.

Turkish Interior Minister Suleyman Soylu was at the scene to supervise a police operation, Turkish television said.

Condemnations pour in

The United States moved quickly to condemn a gun attack in Ankara that killed the Russian ambassador to Turkey.

“We condemn this act of violence, whatever its source. Our thoughts and prayers are with him and his family,” State Department spokesman John Kirby said.

Syria also condemned the murder in neighbouring Turkey of the ambassador of its key ally Russia as a “despicable crime”, state news agency SANA said, quoting the foreign ministry.

“The Syrian republic condemns in the strongest terms the cowardly terrorist attack that led to the death of the Russian ambassador in Turkey, Andrei Karlov,” a ministry statement said.

“This despicable crime confirms once again the urgent need to expand all efforts and means to fight and eliminate terrorism,” it added.

Turkey and Russia saw relations plunge to their worst levels since the Cold War last year when a Turkish jet shot down a Russian war plane over Syria.

They stand on opposite sides of the Syria conflict with Ankara backing rebels trying to topple Moscow ally President Bashar al-Assad.

Turkish police officers cordon off the area close to a photo gallery where the Russian Ambassador to Turkey was shot dead by a Turkish policeman. -AP

But the rhetoric has warmed considerably since a a reconciliation deal was signed earlier this year and a Russian and Turkish-brokered deal has helped the evacuation of citizens from Aleppo in the last days.

The attack comes a day before Turkish Foreign Minister Mevlut Cavusoglu, Russian counterpart Sergei Lavrov, and Foreign Minister Mohammad Javad Zarif of Iran, Assad's other key ally, were to hold unprecedented tripartite talks on the Syria conflict in Moscow.

A Turkish official on Monday denied Ankara had forged any secret “bargain” with Moscow over the future of Syria, despite the improving cooperation that led to the deal for evacuations from Aleppo.