Regular departures leave from Hanoi's Gia Lam bus terminal from 06:00 to 13:00, every 30 minutes, daily. The ride takes about four hours – with a rest stop -- and costs 120,000 VND. Not all buses terminate in Bai Chay but if they know where you're going – and they will – you'll be turfed out at the nearest bus depot next to awaiting taxis and motorbike taxis. It's six kilometres into town so you'll need to hop on one or the other: a motorbike taxi should cost around 30,000 VND to Vuon Dao.
Of course, every morning at about 08:00 in Hanoi, there is a mass exodus of buses and mini-vans trundling tourists to Ha Long Bay tours that will pick up at your hotel and take you directly to the pier right on time for the boats, so ask around at your hotel and see if you can hitch a ride.
It's possible to get to Ha Long City from Cat Ba Island by one of two routes. Either take a tourist boat -- which will take anything from 3.5 to 6.5 hours (whatever the agent may say!) -- or take a 45-minute ferry to Tuan Chau and then a taxi from there into Ha Long City. The former will cost around 250,000 VND via an agent, which includes the bus to the pier and the boat -- but unlikely any on-boat activities -- and the ferry to Tuan Chau is 60,000 VND. Take the 08:00 bus from the square in the centre of Cat Ba town to Gia Luan harbour.
Taxis and motorbike taxis roam Ha Long Road looking for fares but if you want a cheap option to the pier or over to Hon Gai you can jump on the number 3 bus for 7,000 VND.