The Central Bus Station in Tallinn is situated about 2 km southeast of the city centre. I walked there, but there are several city buses and trams you can take ( I took tram 2 or 4 when I came back though). I arrived at the bus station at 8.30 and bought a ticket for the 8.45 bus to Haapsalu.
The bus journey to Haapsalu took 1 h 45 minutes and it was 105 EEK. In Haapsalu most people left the bus at the bus stop before the end stop. I decided to go to the bus station to ask for the timetable back to Tallinn. Well, it turned out there was no bus station (as written on the map in my guide book), but only a last stop by the old train station (now a museum). Instead I asked for the timetable at the tourist office.
When it was time to go back to Tallinn I walked to the same bus stop I had arrived to. When the bus arrived there was no problems to buy the ticket on board. Again the bus ride took 1 hour 45 minutes and was 105 EEK (April 2010).
In April 2010 buses left Tallinn for Haapsalu in the morning at:
8.45 (Mon - Sat)
And they returned to Tallinn in the afternoon/evening at:
16.20 (Fri, Sun)
The bus ride from Tallinn takes around one hour and fifty minutes. Cost in June 2005 was 61 Krooni. Buses are clean, modern and pretty fast.
Haapsalu bus station is next to the beautiful old station and railway museum. All hotels are well signposted from there too.
The fastest and most convenient means of overland travel in Estonia is the bus. The train route from Tallinn to Haapsalu has long been closed down and partly demolished. There are thoughts to reinstall it but so far, the distance is best covered by bus.
Haapsalu can easily be visited as a day trip from Tallinn. Buses to Haapsalu depart from Tallinna Autobussijaam (bus station). In the daytime they run quite frequently but check the timetable. The bus ride takes about one hour, first along the highway, then on a rather new country road. The bus stops in a few villages along the way.
When you buy a bus ticket you have a reserved seat which is stated on your ticket; "Istekoht" is the seat number.
When reaching Haapsalu, don't get off at the first stop, which is in the modern town. Stay on the bus until it stops next to the old train station. The bus back to Tallinn also departs from there.
Estonian bus drivers are very friendly guys but do take for granted that they speak English.
There is a railway, but to get there via that you need your own train.... It's not functioning!!
Easiest way is to take a bus from Tallinn. The buses leave almost every hour, and the trip would take aprx. 1,5 - 2h.
There are local bus lines, but because it's such a small town you hardly need it! Best way to get around is to rent a bike or a scooter. Or for the lazy-bones there are also quite a lot of taxis available, for a very reasonable price!
By car 74 km from Tallinn (Pärnu mnt, 20. km turn right, as signs show). Buses go from bus station, choose express lines because some buses will drive almost a half day because they go to all small villages and stop there. Train is not going to Haapsalu right now. Train is going only to Riisipere station and there You must take a bus to go forward.
It's Rohuküla port near Haapsalu (12 km) You can go to Hiiumaa or Vormsi island by ferry.
Town located 100 km from Tallinn to the southwest. Take a bus and it brings you to this old wooden railway station. Railway museum situated here, but trains do not go anymore.