Honestly speaking, there is no best time to visit Vietnam. The country has a very varied climate which is best explained by dividing the country into three distinct regions; the north; central Vietnam and the south. The north (Hanoi, Halong Bay, Sapa) experiences a northeast monsoon between the months of November and March which brings great swathes of mist to popular areas like the rice terraces in Sapa and the karst limestone outcrops of Halong Bay. Despite this being labelled the monsoon season, ironically Hanoi is at its driest in December and January (however temperatures can drop to below 20c!) and at its wettest in July and August. So be prepared for some cold weather – however it is possible that you will also encounter some beautiful cloudless sunny days as well.
Central Vietnam’s coastal areas (Hoi An, Da Nang, Hue) benefit from the protection of the Truong Son mountain range – they escape a lot of the rains from the southwest monsoon between April and September meaning some very nice long sunny perfect holiday days. This benefit is unfortunately reversed when the northeast monsoon arrives between September and December coupled with the typhoons from the Western Pacific meaning flooding has been known in certain areas.
Southern Vietnam (Saigon, Mekong Delta) benefits from a long dry season between December and May when the skies are clear, the land and scenery are incredibly lush and the waters on the Mekong Delta are very calm. The monsoons arrive towards the end of May and stay until about November. The showers during monsoon season are generally short and sweet and certainly shouldn’t deter you from travelling. If you’re in Saigon during these quite spectacular showers, you’ll be wowed by how quickly the water dissipates due to very impressive drainage and then it’s blue skies again.