Xã Bảo Toàn nằm ở cực tây của huyện Bảo Lạc, có vị trí địa lý:
- Phía đông giáp xã Thượng Hà
- Phía tây giáp huyện Bảo Lâm
- Phía nam giáp huyện Bảo Lâm và xã Hồng Trị
- Phía bắc giáp xã Cốc Pàng.
Xã Bảo Toàn có diện tích 65,58 km², dân số năm 2019 là 2.923 người[1], mật độ dân số đạt 45 người/km².