=By Air plane=
All international flights to Tehran land at the ‘Imam Khomeini International (IKA) Airport’ based 37 km southwest of Tehran. Pilgrimage flights to Saudi Arabia and Iraq still fly from Mehrabad airport.
There are also 70 smaller regional airports in Iran, for example those in Shiraz, Mashhad, Isfahan, Tabriz, Kerman, Kish and these have daily flights to main cities of Iran and also to some international destinations.
Note: if not staying in Tehran and planning to get to any city other than Tehran upon your arrival, you would have to change airports, from Imam Khomeini to Mehrabad, 40km away, to get to your domestic flight. Allow at least 3-4h between the flights. If going to Mashhad, you may be able to avoid the plane change in Iran using Turkish Airlines, Gulf Air, Kuwait Airways, Airways, or Qatar Airways. If going to Shiraz, several flights from Persian Gulf States are available. For Tabriz, you can try travelling via Istanbul on Turkish Airlines or via Baku on Iran Air.
Turkey: There are some weekly trains to Turkey from Tehran railway station. However until 2015 the Trans-Asia Express ran once a week between Tehran and Ankara, whilst another train ran once a week between Van and Tabriz. These services are suspended indefinitely.
Afghanistan: The Mashhad-Herat railway which is under construction right now is completed until the city of Khaf near Afghanistan border.
Iraq: The Khorramshar-Basra railway will be completed in a few months which will connect Iranian railways to Iraq. There will be specially train routes for Iranians going to pilgrim in Najaf and Karbala. There is another project that will be completed later going throughKermanshah to Khanaqin in Iraq.
Pakistan: The Quetta-Zahedan line connects Pakistan and Iran by rail. A train leaves every 1st and 15th of each month from Quetta and the journey takes 11 hours and costs about €8. In opposite direction the train leaves every 3rd and 17th of each month from Zahedan.
In June 2009 a Bam-Zahedan freight line was completed, which connected Zahedan to rest of Iranian railway network. However there is no passenger train between Bam and Zahedan at present, so you have to take a bus or taxi.
Azerbaijan: The Nakhchivan-Tabriz service connects Nakhchivan (city) with Tabriz and crosses from the Jolfa border. The route used to be a part of Tehran-Moscow railway line which is closed right now due to Azerbaijan-Armenia conflicts. There is a railway from Baku to the border city of Astara. From there you can walk through the border to Iran. The railway is going to be joined to Tehran via Rasht and Zanjan.
Turkmenistan: There is a daily service between Mashhad and Sarakhs border every day. The train does not go further because of the gauge changes. At the other side of the border there is train to Merv and Ashgabat. Another railway from Gorgan is currently built up to the Inche Borun border which will continue to Turkmenistan and Kazakhstan. See Train route map!
Many people drive a car to Iran via Turkey. This requires a Carnet De Passage unless you wish to pay import tax.
A Carnet can be acquired from your local drivers association (such as the RAC in the UK). An international driver’s license is highly recommended with translation into Persian very beneficial.
Some borders (Turkey notably) offer entry with an alternative “transit carnet”, available for 150-euro. This lasts 3 days. A 60-euro fine is levied at the exit border if you overstay these 3 days.