Xã Kim Cúc nằm ở phía tây huyện Bảo Lạc, có vị trí địa lý:
- Phía đông giáp xã Hưng Đạo và xã Hưng Thịnh
- Phía tây giáp huyện Bảo Lâm
- Phía nam giáp xã Hưng Thịnh
- Phía bắc giáp xã Hồng Trị.
Xã Kim Cúc có diện tích 44,31 km², dân số năm 2019 là 2.890 người[2], mật độ dân số đạt 68 người/km².