Hà Giang is bounded by Cao Bằng, Tuyên Quang, Lào Cai, and Yên Bái provinces and has a common international border with China in the north. Hà Giang has many high rocky mountains, limestone formations and springs; the important mountains are the Cam and Mỏ Neo. The major rivers of the region are the Lô River (Hà Giang city is located on its left bank) and Miện River.
The topography of the province of Hà Giang is fairly complex: "temperate, but highly localized montane weather patterns create variable conditions among different regions". It has impressive limestone and granite peaks and outcrops. It has three regions. Climatically, it has two seasons, dry and monsoon, dependent on the altitude of the region. The two northern Indochinese climatic zones on the border influence the climate in the northern part of the province. The lower areas in the province comprise low hills, the Lô River Valley and Hà Giang city. In Cao Bồ district, the dry season lasts from mid-September until the end of May, and the monsoon season lasts from the beginning of June until mid-September. However, in Du Già district the wet season sets in one month earlier. The average annual temperature in the provincial capital of Hà Giang is 22.78 °C (73.00 °F); the monthly averages range from a low of 15.48 °C (59.86 °F) in January to a high of 27.88 °C (82.18 °F) in July. The annual rainfall in Hà Giang city is 2,430.1 millimetres (95.67 in); the monthly average varies from a low of 31.5 millimetres (1.24 in) in December to a high of 515.6 millimetres (20.30 in) in July. The average annual humidity level is 84%.