The average bus between Haapsalu and Rakvere takes 3h 35m 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 35m. 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 33m • 1 change
3h 17m • 1 change
3h 17m • 1 change
3h 40m • 1 change
3h 17m • 1 changeWant 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 35m.
Haapsalu to Rakvere bus services, operated by Go Bus AS, depart from Haapsalu bussijaam station.
Haapsalu to Rakvere bus services, operated by Go Bus AS, arrive at Teater station.
Book your Haapsalu to Rakvere bus tickets online with Go Bus AS, Lux Express 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 3h 59m.