The nearest major cities are Yogyakarta, 17 kilometres to the south west and Solo about 40 kilometres to the north east. The main road connecting these two large cities passes right by Prambanan and this makes transport links very straightforward. The nearest actual town to Prambanan is Klaten, about 3 km to the north.
By plane
Yogyakarta airport is well served by domestic flights from Jakarta, Bali, other major domestic destinations and internationally from Singapore and Kuala Lumpur. It is just ten kilometres from here to Prambanan. A taxi direct from the airport should cost about Rp 50,000 and take about 20 minutes.
Solo airport is much smaller but has several flights each day from Jakarta and is also connected internationally from Singapore and Kuala Lumpur. Prambanan is about 90 minutes by bus from Solo airport.
By bus
TransJogja, Yogyakarta's newest bus service, also serves a direct route to Prambanan. The bus is air-conditioned and comfortable, but sometimes can be overcrowded. Take number 1A from Malioboro street Rp 3 000 one way. The first one leaves around 6AM, then every 20 minutes. Depending on traffic, the journey normally takes around 30 minutes, but can take an hour when traffic is heavy. From the terminal station, cross the busy road, turn right, and walk around 300 metres to the pedestrian entrance.
There are regular buses from Yogyakarta's Umbulharjo bus station 30 minutes, as well as a wide variety of tour agency-operated minibuses shuttling directly from Yogyakarta's backpacker haunts. Local buses to/from Solo are also easy to find 90 minutes.