Several other people were reportedly also injured in the gun attack in Ankara, a day after protests in Turkey over Russian support for Syrian President Bashar al-Assad.
The gunman, who was in civilian clothes, opened fire at point blank range as Andrei Karlov made a speech.
He is said to have died in a shootout with police soon afterwards.
According to local reports, Andrei Karlov was rushed to hospital, but his death was later confirmed by the Russian foreign ministry.
President Recep Tayyip Erdogan has spoken to Russian President Vladimir Putin by phone about the attack, the Turkish president’s office said.
Speaking outside the hospital where Andrei Karlov was taken, Ankara Mayor Melih Gokcek said the killing was intended to ruin Turkey’s relations with Russia.
The attack was swiftly condemned by other countries.
US state department spokesman John Kirby: “We condemn this act of violence, whatever its source. Our thoughts and prayers are with him and his family.”
UK Foreign Secretary Boris Johnson: “Shocked to hear of despicable murder of Russia’s Ambassador to Turkey. My thoughts are with his family. I condemn this cowardly attack.”
German Interior minister Thomas de Maiziere said his country stood with Turkey in a common fight against terrorism.
France’s President Francois Hollande “strongly” condemned the killing.
Before the attack happened, a meeting of the Russian, Turkish and Iranian foreign ministers had been planned in Moscow for December 20.
According to Russian TV, Ambassador Andrei Karlov had been attending a photo exhibition called “Russia as seen by Turks”.
Video of the event shows him making a speech when gunshots ring out. Eight bullets are said to have been fired.
The camera pulls back to show a smartly dressed gunman, wearing a suit and tie, waving a pistol and shouting in Arabic and Turkish.
The gunman can be heard yelling “Don’t forget about Aleppo, don’t forget about Syria” and uses the Arabic phrase “Allahu Akbar” (God is great).
Turkish officials later identified him as a member of the Ankara riot police, aged 22.
Andrei Karlov, 62, was a veteran diplomat who had served as Soviet ambassador to North Korea for much of the 1980s.
After the fall of the USSR in 1991, Andrei Karlov had a posting as Russian ambassador to South Korea before returning to North Korea for five years in 2001.
Taking up the Ankara posting in July 2013, Andrei Karlov had to grapple with a major diplomatic crisis last year when a Turkish plane shot down a Russian jet close to the Syrian border.
The US House Ethics Committee has voted to release its report on former Republican Representative…
ABC News has agreed to pay $15 million to President-elect Donald Trump to settle a…
South Korea’s parliament has voted to impeach President Yoon Suk Yeol over his failed attempt…
Israeli war planes have carried out more than 100 air strikes in Syria on December…
President-elect Donald Trump has threatened to impose 100% tariffs on the BRICS countries if they…
Syrian troops have withdrawn from the city of Aleppo following an offensive by rebels opposed…