The vast majority of international flights come to Tehran. However, some travellers are choosing to start or end their trip in Shiraz, saving some backtracking.
Tehran’s Imam Khomeini International Airport (IKIA) sees most of Iran’s international air traffic. It’s small, so delays are possible. Elsewhere, Shiraz, Esfahan, Bandar Abbas and Kish are (in that order) potentially useful arrival or departure points, while Abadan, Ahvaz, Mashhad, Tabriz and Zahedan are less useful.
Iran Air is the national airline and has the Homa, a mythical bird, as its symbol. As the government-owned carrier, it offers service with an Islamic flavour (ie no pork, no alcohol and no exposed hair on the hostesses).
Note that Caspian Airlines, Kish Air and Taban Air have all had fatal crashes in the past 10 years.
All airlines are based in Tehran except for Taban Air, which is in Mashhad.
Caspian Airlines Flights to Damascus, Dubai, İstanbul, Kiev, Yerevan.
Iran Air Amsterdam, Ankara, Baku, Beijing, Beirut, Cologne, Copenhagen, Damascus, Doha, Dubai, Frankfurt, Gothenburg, Hamburg, İstanbul, Karachi, Kuala Lumpur, Kuwait, London, Milan, Mumbai, Paris, Stockholm, Tashkent, Vienna.
Kish Air Damascus, Dubai, İstanbul.
Mahan Air Almaty, Baghdad, Bangkok, Birmingham, Damascus, Delhi, Dubai, Dusseldorf, İstanbul, Kabul, Kuala Lumpur, Phuket, Shanghai.
Taban Air Almaty, Baghdad, Bishkek, Damascus, Delhi, Dubai, Jaipur, Konya, St Petersburg, Sofia, Tashkent.
Buying tickets in Iran for flights from Iran is best done through an agent; Iranian airlines have yet to master internet bookings or even reservations.
The Middle East is a popular staging point, with several airlines connecting Tehran, Esfahan, and Shiraz to the world via various Gulf airports. East and Southeast Asia also have quite a few services, but there are no direct flights from North or South America. Instead, most people come through Europe, where a host of airlines have regular flights to Tehran, or the Middle East. As usual, less direct routes (eg via Moscow) are usually cheaper.