Ngày 17 tháng 2 năm 1965, xã Kim Phượng được chia thành hai xã: Kim Phượng (gồm các xóm Quảng Cáo, Thái Chi, Ninh La) và Kim Sơn (các xóm Nà Mò, Nghĩa Trang).
Trước khi sáp nhập, xã Kim Phượng có diện tích 12,59 km2, dân số là 2.615 người, mật độ dân số đạt 208 người/km2, gồm 12 xóm: Bản Lanh, Bản Lác 1, Bản Lác 2, Nam Cơ, Bản Ngói, Bản Đa, Bản Mới, Bản Kết, Đông Nghèn, Nà Pẻn, Cạm Phước, Nà Bó. Xã Kim Sơn có diện tích 10,28 km2, dân số là 2.222 người, mật độ dân số đạt 216 người/km2, gồm 13 xóm: Kim Tân 1, Kim Tân 2, Kim Tân 3, Kim Tân 4, Kim Tân 5, Kim Tân 6, Kim Tân 7, Kim Tân 8, Kim Tiến 1, Kim Tiến 2, Kim Tiến 3, Kim Tiến 3, Kim Tiến 4, Kim Tiến 5.
Ngày 21 tháng 11 năm 2019, sáp nhập toàn bộ diện tích và dân số của xã Kim Sơn vào xã Kim Phượng.
Sau khi sáp nhập, xã Kim Phượng có diện tích 22,87 km2, dân số là 4.837 người, gồm 25 xóm: Bản Đa, Bản Kết, Bản Lác 1, Bản Lác 2, Bản Lanh, Bản Mới, Bản Ngói, Cạm Phước, Đông Nghèn, Kim Tân 1, Kim Tân 2, Kim Tân 3, Kim Tân 4, Kim Tân 5, Kim Tân 6, Kim Tân 7, Kim Tân 8, Kim Tiến 1, Kim Tiến 2, Kim Tiến 3, Kim Tiến 4, Kim Tiến 5, Nà Pẻn, Nà Bó, Nam Cơ.
Ngày 11 tháng 12 năm 2019, sáp nhập ba xóm Bản Lác 1, Bản Lác 2, Bản Lanh thành xóm Bản Lác, sáp nhập xóm Bản Đa vào xóm Bản Mới, sáp nhập ba xóm Nà Bó, Đông Nghèn, Nà Pẻn thành xóm Thái Chi, sáp nhập hai xóm Kim Tân 1 và Kim Tân 2 thành xóm Kim Tân, sáp nhập hai xóm Kim Tân 3 và Kim Tân 4 thành xóm Đồng Đình, sáp nhập hai xóm Kim Tân 5 và Kim Tân 6 thành xóm Kim Sơn, sáp nhập hai xóm Kim Tân 7 và Kim Tân 8 thành xóm Ao Sen, đổi tên xóm Kim Tiến 1 thành xóm Phai Đá, sáp nhập hai xóm Kim Tiến 2 và Kim Tiến 3 thành xóm Kim Tiến, sáp nhập hai xóm Kim Tiến 4 và Kim Tiến 5 thành xóm Bản Cải.