The average bus between Haapsalu and Rakvere takes 3h 30m and the fastest bus takes 3h 5m. The bus service runs several times per day from Haapsalu to Rakvere. The journey time may be longer on weekends and holidays; use the search form on this page to search for a specific travel date.
Buses run every 4 hours between Haapsalu and Rakvere. The earliest departure is at 6:00 AM in the morning, and the last departure from Haapsalu is at 8:50 PM which arrives into Rakvere at 9:17 AM. All services require a transfer, and take on average 3h 30m. The schedules shown below are for the next available departures.

3h 17m • 1 change

3h 17m • 1 change

3h 40m • 1 change

3h 17m • 1 change

3h 17m • 1 change

3h 17m • 1 change

3h 40m • 1 change

3h 17m • 1 change

3h 17m • 1 change

3h 17m • 1 change

3h 5m • 1 change

3h 17m • 1 change

3h 17m • 1 change

3h 20m • 1 change

3h 17m • 1 change

3h 5m • 1 change

3h 17m • 1 change

3h 5m • 1 change

3h 17m • 1 change

3h 32m • 1 change

3h 17m • 1 change

3h 17m • 1 change

3h 40m • 1 change

3h 17m • 1 change
Want to know about travelling from Haapsalu to Rakvere? We have put together a list of the most frequently asked questions from our users such as: What is the cheapest mode of transport? What is the quickest option? How much do tickets usually cost? and many more.
No, there is no direct bus from Haapsalu to Rakvere. However, there are services departing from Haapsalu station and arriving at Rakvere station via Tallinna bussijaam. The journey, including transfers, takes approximately 3h 30m.
Haapsalu to Rakvere bus services, operated by Lux Express, depart from Haapsalu bussijaam station.
Haapsalu to Rakvere bus services, operated by Lux Express, arrive at Teater station.
Book your Haapsalu to Rakvere bus tickets online with Lux Express, Go Bus AS and 2 other operators.
The distance between Haapsalu and Rakvere is 166.7 km. The road distance is 197 km.
You can take a bus from Haapsalu bussijaam to Teater via Tallinna bussijaam in around 4h 1m.