President Recep Tayyip Erdogan said Ankara had already paid the deposit on the deal, estimated to be worth $2.5bn (£1.9bn).
Turkey has the second-largest army in Nato. Alliance members are urged to buy compatible weapons systems.
Turkey has been establishing closer links with Russia after its recent souring of ties with the US.
Turkey objects to US military support for the YPG Syrian Kurdish rebels, who are linked to rebel Kurds in Turkey.
Russia says the S-400 system has a range of 400km (248 miles) and can shoot down up to 80 targets simultaneously, aiming two missiles at each one.
Russia deployed the S-400 at its air force base near Latakia in Syria in December 2015, after Turkish jets had shot down a Russian Su-24 warplane on the Syria-Turkey border.
That incident caused a diplomatic rift between Russia and Turkey, but President Erdogan later patched up his quarrel with President Vladimir Putin.
Tensions within Nato
A military adviser to Mr Putin, Vladimir Kozhin, said the S-400 contract with Turkey was "strictly compatible with our strategic interests". "On that score, one can quite understand the reaction of some Western countries who are trying to put pressure on Turkey."
Mr Erdogan, quoted by Turkey's Hurriyet daily, voiced displeasure with unnamed Western partners who were "seeking enormous amounts of money" for military drones.
He said Turkey had killed 90 YPG "terrorists" in the past week with Turkish drones - developed because the Western ones were too expensive.
"We are responsible for taking security measures for the defense of our country," he stressed.
The BBC's Mark Lowen in Turkey says the missile deal is clearly a rebuff to Nato, after the US and Germany withdrew Patriot air defence batteries from Turkey.
In 2015 Turkey had urged its Nato allies to keep those batteries positioned on the Turkish-Syrian border.
Turkey is also angry with the US for not extraditing Fethullah Gulen, the Muslim cleric who, according to Mr Erdogan, organized the July 2016 coup plot by rogue Turkish officers. Mr Gulen denied any involvement.