My passport expired about 3 months ago and I have a ticket with KLM to go back to Iran. Iranians are allowed to enter Iran with an expired passport, but I just wanted to know is I am allowed to connect through Amsterdam without any problems?
Salam, I travelled this route in June 2017 with an expired passport. The KLM staff at the gate had doubts at first but after a quick 1-minute talk with the supervisor, they let me board the aircraft without any issues. According to Iran, it is absolutely no issue to enter with an expired passport, I have done it many times.
Be only sure to renew your passport while being in Iran if you want to exit the country again, it should be a quick process.
Wishing you a nice trip to Iran.
Edit following the answer by @Amin:
KLM has no obligation to let you board with an expired passport.
Per their General Conditions of Carriage (emphasis mine)
ARTICLE 9: REFUSAL AND LIMITATION ON CARRIAGE
The Carrier may refuse to transport Passengers and their Baggage, if one or more of the following cases has occurred or is likely to occur:
(k) The Passenger does not appear to be in possession of valid travel documents, may seek or has sought to illegally enter a country through which he may be in transit, or for which he does not have a valid entry document, has destroyed travel documents during the flight, has refused to allow copies thereof to be made and kept by the Carrier, or the Passenger’s travel documents have expired, are incomplete in light of the regulations in force, or appear to be fraudulent or otherwise suspicious (for example: identity theft, forgery or counterfeiting of documents).
18.2 Travel Documents
(b) The Carrier reserves the right, in accordance with Article 9, to refuse the Carriage if a Passenger fails to comply with the applicable laws and regulations, if the Carrier has doubts as to the validity of the documents presented, or the Passenger does not permit the Carrier to take and retain copies of any documents or otherwise retain data contained in the relevant documents.
I tweeted them and their response was quick & clear:
We will only accept passengers travelling with a valid travel document. An expired passport is not valid anymore.
To be on the safe side I suggest you contact your nearest embassy and try to obtain a new passport or an emergency travel document.
However apparently they can let you board at their discretion.
As stated in Timatic, the database used by Airlines:
Nationals of Iran are allowed to enter with an expired passport.
Regarding Transit in Amsterdam:
Visa required, except for Nationals of Iran, holding onward tickets transiting For details, click here by the same or first connecting aircraft AND meeting one of the following conditions:
holding a visa issued by Bulgaria, Canada, Croatia, Cyprus, Ireland (Rep.), Japan, Romania, USA or United Kingdom, traveling to any non-Schengen Member State;
returning from Bulgaria, Canada, Croatia, Cyprus, Ireland (Rep.), Japan, Romania, USA or United Kingdom after having used the visa;
So if you have a visa from one of the mentioned countries, you can transit in Amsterdam on your expired passport. Given that you're not entering the Schengen Area, their entry requirements do not apply to you.
However, if you do not hold one of These visas, you will Need a Schengen airside transit visa, and as far as I know, the Dutch embassy won't issue it to an expired passport.