The best way to get to Vientiane from Thailand via bus is to take one of the hourly buses from either Udon Thani (two hours; B80) or Nong Khai (one hour; B55). These buses take you straight to Talat Sao, Vientiane's Morning Market, but you cannot board them unless you already have a Lao visa.
If you don't have an advance visa, you can take a bus from Udon Thani to Nong Khai, then a tuk-tuk to the border (B30 to B50), cross the Friendship Bridge on a B20 shuttle bus, and take a taxi (B350), tuk-tuk (B150), or public bus (B20) from the Lao side of the border into Vientiane.
The Northern Bus Terminal for trips to and from northern Laos is 3 km (2 miles) northwest of the center, while southern buses leave from the Southern Bus Station, which is out on Highway 13. The Talat Sao (Morning Market) Bus Station handles local departures.
Although there's city bus service in Vientiane, schedules and routes are confusing for visitors, so it's best to stick to tuk-tuks and taxis. The city bus station is next to the Morning Market.