There are many ways to travel from Hanoi to Sapa and back. The cheapest way is by (overnight) bus and there are several departure times a day. The overnight train is a great options for those looking for a bit more comfort.
TRAVEL BY BUS:
1. Morning bus - pick up time in between 6.30 and 7am - bus leaves at 7am and arrives in Sapa at 1pm. For this there are options for a luxury or comfortable sitting bus or sleeper bus.
2. Morning bus - pick up time in between 7 and 7.30am - bus leaves at 7.30am and arrives in Sapa at 1.30pm. This is a sleeper bus.
3. Overnight bus - pick up time in between 9 and 9.45am - bus leaves at 10pm and arrives in Sapa at 3am (they park the bus so you can stay on it and sleep some more till 5.30-6am). This is a sleeper bus.
Prices for a one-way trip are in between $10 and $18
TRAVEL BY TRAIN:
1. Overnight train - SP1 - Departure time 9.30pm - Arrive in Lao Cai at 5.30am. From Lao Cai it is a 1-hour ride to Sapa.
2. Overnight train - SP3 - Departure time 10pm - Arrive in Lao Cai at 6.20am. From Lao Cai it is a 1-hour ride to Sapa.
For trains you can opt for a hard sleeper (6 berths in a cabin) or soft sleeper (4 berths in a cabin). For soft sleeper there are various quality options, this is mainly about the comfort and thickness of matrassess.
Prices for a one-way trip start at around $20 for a hard sleeper and around $25 for a soft sleeper.