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.
Image source: Wikimedia Commons President-elect Donald Trump celebrated his election victory at the Ultimate Fighting…
Millions of voters across the US chose to return Donald Trump to the White House…
Donald Trump declares victory in the US election as he addresses jubilant supporters in Florida.…
Stocks around the world are rising as Donald Trump appears to be on the cusp…
Donald Trump has won Pennsylvania, North Carolina and Georgia and taken a lead over Kamala…
Quincy Jones, the celebrated musician and producer who worked with Michael Jackson, Frank Sinatra, Ray…