Getting there & away
The Tirtonadi bus terminal is 3km from the centre of the city. Only economy buses leave from here to destinations such as Prambanan (5600Rp, 1½ hours), Yogyakarta (8500Rp, two hours) and Semarang (11, 700Rp, 2½ hours). Buses also travel to a number of destinations in East Java, including Pacitan (15, 000Rp, four hours), Surabaya (31, 600Rp, six hours) and Malang (42, 600Rp, seven hours).
Near the bus terminal, the Gilingan minibus terminal has express air-con minibuses to almost as many destinations as the larger buses. Door-to-door minibuses go to Yogyakarta (25, 000Rp), Semarang (35, 000Rp), Surabaya or Malang (85, 000Rp), Denpasar (210, 000Rp) and Jakarta (160, 000Rp). Homestays, cafés and travel agents also sell these tickets.
The quickest and most convenient way to get to Yogyakarta is on the Prameks (business 6500Rp, one hour), which departs from Balapan five times a day at 5.45am, 8.25am, 11.35am, 2.41pm and 5.43pm.
Express trains to Jakarta include the Argo Lawu (executive 210, 000Rp, 7½ hours, once daily at 8.10am), which is the most luxurious day train; the Senja Utama (business 100, 000Rp, 10 hours, once a day at 6pm); and the executive Bima (from 200, 000Rp, nine hours, once daily at 9pm).
The Lodaya (business/executive 100, 000/150, 000Rp, nine hours) departs for Bandung at 8pm and the Sancaka (business/executive 60, 000/85, 000Rp, five hours) swings through Balapan at 8.14am and 4.58pm on its way from Yogyakarta to Surabaya.
For Semarang, catch the Pandan Wangi (business 13, 000Rp, two hours) at 5.15am and 1.30pm.
On Tuesday, Thursday, Saturday and Sunday, Silk Air (724604/5; www.silkair.com; Novotel Hotel, Jl Slamet Riyadi 272) flies to Singapore for US$214 return (one way is US$50 more expensive). At the time of writing, domestic services were limited to two daily flights to Jakarta with Garuda (630082; Hotel Cakra; Jl Slamet Riyadi 201).