Xã Cẩm Thành nằm ở phía Bắc huyện Cẩm Xuyên 105º, 56’ - 105º, 60’ độ kinh đông; 18º, 19’ vĩ độ Bắc. Đông giáp xã Cẩm Quang, Tây giáp xã Cẩm Thạch, Nam giáp xã Cẩm Duệ và xã Cẩm Quan, Bắc giáp xã Cẩm Bình và Cẩm Vịnh. Xã Cẩm Thành không gần núi, gần biển, nằm ở phía Bắc dãi đồng bằng của huyện Cẩm Xuyên. Xã Cẩm Thành ở gần xã Thạch Lâm (Thạch Hà) là địa danh đã được khảo cổ học xác nhận “Di chỉ Cồn Sò Điệp” Thạch Lâm, có niên đại cách ngày nay trên 4000 năm. Nó thuộc nền văn minh Văn Lang – Âu Lạc thuộc Bộ Cửu Đức, một trong 15 bộ của nước Văn Lang. Thời Bắc thuộc cũng như thời phong kiến, địa danh và địa giới của huyện Cẩm Xuyên luôn luôn biến động, nên xã Cẩm Thành cũng chịu sự biến cố đó. Thời Hán, thời Tùy thì xã Cẩm Thành thuộc huyện Ty Ảnh. Thời Đường thì thuộc huyện Việt Thường (Châu Hoan). Khi Lê Hoàn trị vì thì xã Cẩm Thành thuộc châu Thạch Hà.Thời Lý thuộc Châu Nhật Nam. Năm 1469 đời vua Lê Thánh Tông thì xã Cẩm Thành thuộc huyện Kỳ Hoa (của Thừa Tuyên – Nghệ An). Năm 1836, Minh Mạng thứ 17 thì Cẩm Thành thuộc huyện Hoa Xuyên và đến năm 1841 thiệu trị đổi Hoa Xuyên. Từ đó Cẩm Thành thuộc huyện Cẩm Xuyên cho tới ngày nay.
Xã Cẩm Thành được thành lập bởi sự hợp nhất của hai xã cũ là Hương Cần, Hương Duệ và một phần nhỏ của địa phận xã Quan Duệ (tức làng Na Kênh).
Xã Hương Cần xưa gồm 8 làng: Làng Bàu, Làng Cần, Làng Cồn, làng Đông, làng Kênh, làng Kênh Cạn, làng Vịt và làng Na Kênh. Xã Hương Duệ xưa có 2 làng: Làng Hương Duệ và làng Kẻ Gáo. Cả Hương Cần, Hương Duệ và Quan Duệ đều thuộc Tổng Mỹ Duệ và cùng được lập nên vào khoảng nửa đầu thế kỷ XVI.
Theo từng thời gian lịch sử, Cẩm Thành có một số tên gọi khác nhau. Sau Cách mạng tháng Tám 1945, xã mang tên là Đại Thành. Từ 1947 đến 1954 xã mang tên là Thạch Thành (bao gồm 2 xã Đại Thành và Thạch Lâu). Sau cuộc giảm tô 1954, xã Thạch Thành lại chia thành 2 xã, tên gọi Cẩm Thành ra đời từ đó.
Cẩm Thành hiện nay có 9 thôn: An Việt (làng Vịt cũ). Bắc Thành, Nam Thành (làng Cồn Cũ) hợp lại thành thôn Nam Bắc Thành. Thôn Kênh (làng Kênh cũ). Tân Cần, Vĩnh Cần (làng Cần cũ) hợp lại thành thôn Tân Vĩnh Cần. Hưng Mỹ (Hương Duệ cũ). Đông Lộ (kẽ Gáo cũ), Quán Kho, xóm Đồng hợp lại thành thôn Đông Nam Lộ. Đồng Nương, Đồng Liềm, Thượng Bàu, Hạ Bàu (Làng Bàu cũ) hợp lại thành thôn Đồng Bàu. Đông Nam, Đông Trung (làng Đông cũ) hợp lại thành thôn Trung Nam. Kênh Kạn, Na Kênh, Mỹ Phương (Na Kênh cũ) hợp lại thành thôn Đông Mỹ.