By air. Shiraz International Airport (SYZ) is the main gateway, with frequent domestic flights to Tehran (about 90 minutes), Mashhad, and Isfahan. International connections are limited but include flights to the Gulf — Dubai, Doha, Kuwait — and a handful of European cities. From the airport it is a 15-minute taxi to the city centre.
By bus. The Karandish terminal in the east of the city handles long-distance buses to almost everywhere in Iran. VIP-class buses to Tehran (about 14 hours) and Isfahan (about 7 hours) are comfortable and very cheap by international standards. Yazd, Kerman, and Bandar Abbas are also well-served.
By train. A passenger rail line connects Shiraz to Tehran via Isfahan. The overnight sleeper to Tehran is slow but scenic and a good experience in its own right.