"NATO is in a critical process in which it needs to clearly show its alliance solidarity," Erdogan said alongside the alliance's chief Jens Stoltenberg. "Our allies should display their solidarity with our country without discrimination and without laying down political conditions," he said. "It is very important that the support we demand is met without any further delay."
Erdogan was due to hold talks with EU leaders Charles Michel and Ursula von der Leyen, who have backed Greece as Europe's "shield" against migrants encouraged to leave Turkey.
They have urged the Turkish leader to halt refugee and migrant departures and negotiate a new deal under which EU members would do more to alleviate the humanitarian situation on the Syrian border.
But Erdogan had harsh words for Prime Minister Kyriakos Mitsotakis' Greek government, which has already been given 700 million euros by Brussels to secure his borders and cope with the new arrivals.
"It is irrational and inconsiderate that an ally and a neighbouring country point to Turkey as responsible for the irregular migration," Erdogan said.
"We will not allow this country to try to get unfair gains by using its current position."
Stoltenberg highlighted Turkey's front line role as a NATO member, saying: "No other ally has suffered more from terrorist attacks, and no other ally holds more refugees."
He said NATO support would continue but expressed "great concern" about events on the Turkish-Greek border and said: "The issue of migration and refugee flows is a common challenge that requires common solutions." Ahead of his talks with Erdogan, European Council president Michel urged him to respect a previous agreement in which Turkey was to halt a refugee exodus in return for six billion euros.