Mai Châu vốn là một trong 5 châu của phủ Chợ Bờ khi thành lập tỉnh Mường, tiền thân của tỉnh Hòa Bình (năm 1886). Đến năm 1892, Mai Châu là một trong 5 châu của Hòa Bình. Trong Kháng chiến chống Pháp, Mai Châu là phần phía nam sông Đà của huyện Mai Đà, thuộc Liên khu Việt Bắc từ 4 tháng 11 năm 1949 và đến 9 tháng 8 năm 1950 mới nhập vào Liên khu 3. Ngày 21 tháng 9 năm 1957, huyện Mai Đà chia làm 2 huyện Đà Bắc và Mai Châu. Khi đó Mai Châu gồm 5 xã: Mai Thượng, Mai Hạ, Tân Mai, Pu Bin, Bao La.
Sau năm 1975, huyện Mai Châu có 1 thị trấn Mai Châu và 20 xã: Ba Khan, Bao La, Chiềng Châu, Cun Pheo, Đồng Bảng, Hang Kia, Mai Hạ, Mai Hịch, Nà Mèo, Nà Phòn, Noong Luông, Pà Cò, Piềng Vế, Phúc Sạn, Pù Bin, Tân Mai, Thung Khe, Tòng Đậu, Vạn Mai, Xăm Khòe.
Ngày 27-3-1999, thành lập xã Tân Sơn trên cơ sở 1.695,6 ha diện tích tự nhiên và 1.090 nhân khẩu của xã Bao La.
Ngày 14-7-2009, chuyển xã Tân Dân thuộc huyện Đà Bắc về huyện Mai Châu quản lý.