From Medan airport (Kuala Namu)
The new international airport for Medan, Kuala Namu, was opened on July 24 2013. Unlike the now closed Polonia airport, which was in central Medan, the new airport is located around 30km from Medan.
To reach Bukit Lawang from the airport, you can either take a taxi or booked car service, which should cost 600,000rp, or use public transport.
The simplest public transport transportation is to take the bus from the airport to Binjai, a city sited between Medan and Bukit Lawang. The fare from the airport to Binjai is 30,000rp by ALS bus. From Binjai take a minibus to Bukit Lawang, 10,000rp more.
If you wish to first travel to Medan, you can take a bus to jalan gatot subroto, in central Medan. this costs 15,000rp. See below for transport details from Medan. A train service runs from the airport to Medan, which is faster than the bus, but runs only every 2 hours, so may take much longer in price. The fare is expensive, at 80,000rp one way for both adults and children.
Buses leave from 'Kampung Lalang' a district on the outskirts of Medan, about 8km from the centre. They are supposed to leave from Pinang Baris, the bus station close by, and transportation drivers may try to take you there, but anyone in the area should be able to direct you to the right place to catch a bus, which is directly outside the 'Toko Roti Mawar' (Mawar Bakery).
Mitsubishi L300 (known as el-tiga ratus) minibuses are faster, slightly more expensive, but cramped. Standard buses, known as PS (pronounced Pay-Es), because the operator is Pembangunan Semesta (government) are a few thousand rupiah cheaper and slower. The cost is approximately 18,000rp/20,000rp (almost US$2). On the minibus the expected occupancy is four in each row, including the front (so three plus driver). If you don't want this, when you feel that your section is getting too crowded, you can offer to pay an extra fare to keep the space a bit less cramped (for example, a couple sitting in the front might need to pay three fares to avoid getting someone else sharing with them).
Smoking, with the windows closed, is common on the minibuses, Indonesians don't like the wind! The minibus engine is mounted under the front seat, so it can be quite hot here (but also anywhere else in the bus). The buses break down quite often, and if this happens you will be expected to pay the cost of your journey to where the bus has broken down, from where you just have to wait for the next bus to go by.
Last bus is around 5:30pm, and the journey time is 3 hours by minibus, 3.5 hours by PS.
Binjai, the city 12km from Medan on the road to Bukit Lawang, has buses to Bukit Lawang slightly later than from Medan. If you are running a little late, you can head to Binjai (taxi or yellow bus) and pick up a bus from there (again, the buses do not go from the official bus station, but a spot on the side of the road). The cost is not cheaper, certainly counting the cost of a taxi to Binjai, but buses run till around 6:30pm here, so it buys you another half an hour.
A train service runs about every 2 hours from Medan to Binjai, but it's less practical than the bus, although if you are near the train station at the time it's leaving, you could try it. Timetable link.
You can get a seat in a tourist bus, basically an aircon MPV, from a travel agent in Medan. They leave from the Grand Mosque area of Medan, Jalan Sisingamaraja. The cost will be a fraction of hiring your own.
You can arrange transport with your accommodation in Medan or Bukit Lawang. The cost should be 400,000-500,000rp one-way, for private air-con MPV car. You can also simply flag down a taxi on the street and haggle over the price. The cost should be slightly lower, do check that they have air-con.
Not really a recommended option, as it's not really any cheaper than renting a car with a driver, and the local driving standards are very poor, so you need to be quite brave to do this. However the option does exist.
Bukit Lawang Bus Station (Gotong Royong)
The Bukit Lawang bus station and weekly market (Fridays) is located in the village of Gotong Royong, about 2km from Bukit Lawang itself. Although private cars (including the air con tourist buses) and motorbikes can enter Bukit Lawang (although cars cannot get past the entrance area), buses run only as far as the bus station.
To get from the bus station to Bukit Lawang itself you can walk (but it's long and hot), or just go in a becak like everyone else. This has a price of 5,000rp per person (max two people) you don't need to negotiate with them as you would in Medan, just get in the becak and go. It's not uncommon for them to try and charge a little more to tourists, but it's nothing to worry about.... Everyone is going the same place, except visitors to Rindu Alam, Batu Mandi and Bukit Lawang Cottages/Ecolodge (normally known as 'Cottage'), who can be dropped off a little closer to their hotel if they tell the becak driver where they are going.
When the becak drops you off in Bukit Lawang itself you will have a walk of 2 to 30 minutes to reach your guesthouse, depending on where you are staying. It's usual for a guide to approach you, either on the bus from Medan, or upon arrival in Gotong Royong or Bukit Lawang, strike up conversation and encourage you to stay in a particular guesthouse. These guides generally stay in a particular guesthouse and bring tourists there, from where they have the opportunity to sell you a jungle trek. They are friendly, relying on generating a rapport with the tourists in order to get them to book trekking with them (there are many guides operating in Bukit Lawang, more than are needed to serve the tourists), but obviously you don't have to go to their guesthouse if you don't want to.
To/From Berastagi and Lake Toba
You can trek from Berastagi to Bukit Lawang or vice versa, in around four days.
It is straightforward to get transport from either Berastagi or Lake Toba, just contact a travel agent or your hotel in either location, or from Bukit Lawang. The cost should be around 1 million rupiah from/to Lake Toba, less from Berastagi. Allow seven hours from Lake Toba, six hours from Berastagi, travelling in both cases by road via Medan.
If there's only one or two travelling, it will be cheaper to get a tourist bus than a private car. Contact your accommodation or a travel agent, they should run every day, but if there's no demand you might have to just pay for the whole car.
From Berastagi buses run to Padang Bulan bus station in Medan, and to Pinang Baris bus station, Medan. Pinang Baris is much more convenient for Bukit Lawang, whereas from Padang Bulan you'll have to take a local bus (or taxi) to Pinang Baris (Kampung Lalang).
From Lake Toba the bus runs to Amplas bus station. From here you will need to travel to Kampung Lalang/Pinang Baris by private taxi, or take local buses to Pinang Baris.
There is no train towards Berastagi, in the mountains, but a daily economy class train runs from Medan to Pematangsiantar, which is less than an hour from Lake Toba by bus. Alternatively many more trains, including some executive class trains, run from Binjai to Medan to Tebing Tinggi, roughly half-way between Medan and Lake Toba, and back again (in the reverse direction most terminate at Medan rather than Binjai).
See train map and timetable.
To/from Tangkahan there are essentially two choices - the shorter but more broken road, or the longer, but still poorly surfaced road.
If you choose the shorter route you will need a proper off-road vehicle, or a motorbike. Either can be arranged in Bukit Lawang or Tangkahan. This should take 2.5 - 3 hours.
Another option is an elephant trek, although few recommend this unless you are sure you want to spend a very long time (rather than, say, just one hour) sitting on the back of an uncomfortable elephant.
The longer route goes via Binjai, and you can do this journey by any private motor car (low vehicles NOT recommended, a typical Indonesia MPV with reasonable ground clearance is ok though), or by bus from Bukit Lawang to Binjai (70km/2hours), travelling from there by bus to Stabat, Batang Serangan and finally Simpang Robert on the way to Tangkahan. P.S. (large, slow) Buses bound for Tangkahan go several times daily from Medan, via these places, you can pick one up that's passing, or just make your way from point to point on your way to Tangkahan.