Xã Khang Ninh có diện tích 44,21 km², dân số năm 2019 là 4.078 người,[3] mật độ dân số đạt 92 người/km².
Sông Năng chảy qua phần phía bắc của xã, trong đó đoạn cuối của sông trên địa phận xã chảy qua lòng núi tạo thành động Puông. Xã cũng có suối Tả Lẩu chảy vào hồ Bản Vài rồi sau đó hợp lưu vào sông Năng. Tỉnh lộ 258 chạy qua địa bàn xã.