Travelling from Hanoi to Vientiane by bus is a long winded operation, but a necessary evil if you’re travelling on a budget. Tickets can be bought from hotels and hostels as well as stalls in the city centre of Hanoi and can cost from $25 to $35 depending on where you purchase them from.
On a Monday, Wednesday, Friday and Sunday the older sleeper bus leaves Hanoi at 6.30 in the evening and arrives in Vientiane the following night at 5 o’clock. The modern sleeper bus departs on the alternate Tuesday, Thursday and Saturdays and departs at 7 arriving at 5 the following day. In reality these estimated times of arrival are usually earlier than reality, and so the bus tends to take closer to an entire 24 hours to reach Vientiane.
My recommendation would be to get a bed as close to the front of the bus, because at the back there’s a toilet and very poor suspension. You don’t notice this so much in the first few hours, but through the poorly constructed roads of the Lao countryside it becomes increasingly more apparent.
The bus makes a food and bathroom stop around four hours into the journey, then stops at the border and then generally two after that in Laos. The border process takes around an hour in total and on top of your $35 fee for a tourist visa you will be required to pay the Vietnamese border guards $1 in order to stamp your passport to leave the country.
The bus itself was relatively clean, apart from the foot holes of the beds. Each passenger that had a bed (several stops were made on country roads where people boarded and proceeded to sit and sleep on the aisles between the beds) was supplied with a small care package of water and a toothbrush as well as blankets. The beds were extremely compact and rather uncomfortable.
If you can afford to fly then I would absolutely recommend that you do so. There are unexpected delays and the bus just takes so much time compared to the two hour flight. It’s called the ‘bus from hell’ for a reason, and so if you can avoid it.