We priced this trip against a long weekend in Paris — flights aside — and still had room for a Halong overnight, a cooking class in Hoi An, and enough cà phê sữa đá to fuel every train platform. The trick was not deprivation. It was choosing one paid highlight per city and letting street life do the rest.
The frame: fourteen nights, four hubs

Hanoi for three nights, Ninh Binh for two, Hoi An for four, and Ho Chi Minh City for five. Domestic flights replaced one overnight train so we kept energy for walking. Total ground transport — including Grab and ferries — landed around €110 for two.
We booked mid-range guesthouses with breakfast when it was included, and skipped hotel restaurants otherwise. A clean private room with AC ran €18–28 outside HCMC, and €30–40 for something quieter in District 1.
Where the money actually went




Food was the bargain. Breakfasts of bánh mì or phở rarely topped €2. Lunches hovered near €3–4 if we followed office workers rather than tour boards. Dinners climbed when we sat down for a seafood spread in Hoi An — worth it once — then returned to local cơm plates the next night.
Hanoi and Ninh Binh without the rush
Old Quarter mornings reward early walkers: lake circuits before scooters thicken, then coffee at a sidewalk stool. We used the city as a walking map and only Grabbed after dark with luggage. Ninh Binh’s boat rides through limestone are inexpensive if you go midweek and share a driver from the station rather than booking a full-day private tour from Hanoi.
Hoi An’s quiet hours
Lantern streets at noon are for errands. We saved the old town for dusk, rented bikes for the rice fields, and ate where plastic stools outnumbered menus in English. Tailors are a temptation — we set a hard cap and walked away twice before commissioning one linen shirt.
Saigon as a soft landing
Ho Chi Minh City absorbs budgets quickly if you live in District 1 cocktail bars. We based near a metro stop, rode the line like locals, and kept one night for a rooftop drink as punctuation. Markets and alley noodles carried the rest.
Numbers we would reuse
Rough per-person spend excluding international flights landed near €620 for fourteen days — lodging, food, domestic transport, and the Halong overnight. A Paris long weekend for two, hotels and meals only, cleared that number before museums. Vietnam stretched the calendar because street economies still welcome walkers.
We travelled light enough for GrabBike when traffic thickened, and heavy enough for a book on the overnight coach south. Packing right mattered more than any coupon app. Laundry in Hoi An cost a few dollars and bought us two empty days in the suitcase.
On money: we withdrew VND from bank ATMs in daylight, ignored airport exchange, and kept a small USD float only for emergencies. Cards worked in nicer cafés; stalls wanted cash. The daily rhythm settled into coffee, walk, lunch, rest, dusk walk, noodles — a shape that spends little and sees a lot.
For anyone repeating the route: book Halong midweek, keep Hoi An flexible for weather, and treat HCMC as a buffer city where plans can slip without guilt. Stretch the itinerary by subtracting attractions until the remaining ones earn their transport.
We also learned to say no to silk shops that appear the moment you pause on a corner. The souvenir that lasted was a notebook of noodle shops with no English names — still more useful than any guidebook PDF.
Would we cut anything? The shopping day in HCMC. Would we add anything? An extra night in Ninh Binh when the weather is clear. Two weeks ended with money left for the airport train and a last bánh mì.
We kept a shared note of costs each night so overspending showed up before the last days. That habit mattered more than any pre-trip budget spreadsheet. When a day ran hot, the next day went simpler: noodles, walking, free museum hours if any. Vietnam rewards that correction loop.
None of this is secret. It is simply the difference between travelling as a consumer of highlights and travelling as a temporary resident with a budget. Stretch exists to document the second kind with enough detail to reuse.