Xã Vĩnh Phong nằm ở phía đông huyện Bảo Lâm, có vị trí địa lý:
- Phía đông giáp huyện Bảo Lạc và xã Vĩnh Quang
- Phía tây giáp thị trấn Pác Miầu và xã Mông Ân
- Phía nam giáp xã Thái Sơn
- Phía bắc giáp xã Lý Bôn và xã Vĩnh Quang.
Xã Vĩnh Phong có diện tích 65,54 km², dân số năm 2019 là 2.717 người[1], mật độ dân số đạt 42 người/km².