Theo sử sách và các tộc phả ghi lại, xã Nghi Sơn ngày nay được hình thành dưới thời vua Lê Đại Hành, từ thế kỷ XI, có tên là Biện Sơn, hay còn gọi là đảo Biện, cù lao Biện, thuộc tổng Tuần la, phủ Ngọc Sơn.
Sau Cách mạng tháng Tám thành công năm 1945, Biện Sơn được đổi tên thành thôn Nghi Sơn, thuộc xã Hải Yến. Nghi Sơn có nghĩa là "hòn đảo uy nghi". Tên gọi Nghi Sơn có từ đó và tồn tại cho đến ngày nay. Tháng 8-1954 xã Hải Yến được tách thành 2 xã Hải Yến và Hải Thượng; thời kỳ này thôn Nghi Sơn thuộc xã Hải Thượng. Theo quyết định 163, ngày 14-12-1984 của Hội đồng Bộ trưởng, xã Hải Thượng được chia tách thành 3 xã: Nghi Sơn, Hải Thượng và Hải Hà. Từ đó, xã Nghi Sơn được hình thành và ổn định cho tới ngày nay.
Hiện nay, toàn xã có 4 thôn, đó là: Bắc Sơn, Trung Sơn, Thanh Sơn, và Nam Sơn.