Район расположен на северо-востоке Костромской области, граничит на севере с Вологодской областью, на востоке – с Пыщугским, на юге – с Шарьинским и Мантуровским районами, на западе – с Кологривским районом.
В XVIII веке территория нынешнего Межевского района относилась к Архангелогородской губернии, с 1778 года – к Унженской провинции Костромского наместничества, с 1796 года – к Костромской губернии.
В 1908 году село Георгиевское находилось в составе Георгиевской волости Кологривского уезда. Селения будущего Межевского района располагались также в Кузьминской и Николо-Межевской волостях.
В первой половине 1918 года из селений Георгиевской, Кузьминской и Николо-Межевской волостей образовалась Селинская волость.
В 1923 году произошло укрупнение волостей: Из Николо-Межевской, Кузьминской и Селинской волостей была образована Верхне-Межевская волость; из Георгиевской волости – Межевская волость.
В 1926 – 1927 гг. Верхне-Межевская волость состояла из сельсоветов: Селинского, Тюковского, Барановицкого, Никольского, Тихоновского, Борисовского, Родинского, Абросимовского; Межевская волость — из Соловьевского, Георгиевского, Новинского, Алешинского, Суховского, Черемисского, Дубовихского, Вавиловского, Дубровинского и Трусовского сельсоветов.
Межевской район был создан во время районирования Костромской губернии в 1928 году из волостей Кологривского уезда: Верхне-Межевской и Межевской волостей полностью; Петушихинского сельсовета Ухтубужской волости; Высоковского и Чуфарихинского сельсовета Паломской волости.
В 1929 году Межевской район был передан в состав Шарьинского округа Нижегородской области в составе сельсоветов: Абросимовского, Авешинского, Барановицкого, Борисовского, Вавиловского, Высоковского, Георгиевского, Дубовихинского, Дубровинского, Никольского, Новинского, Петушихинского, Родинского, Селинского, Соловьевского, Суховского, Тюковского, Тихоновского, Трусовского, Чуфарихинского, Черемисского.
По постановлению ВЦИК «Об изменении в составе районов и районных границ Нижегородского края» от 20 января 1932 года Межевской район был ликвидирован, а его территория передана в состав Мантуровского района.
11 января 1935 года Президиум Горьковского крайисполкома принял постановление «О разукрупнении и организации новых районов в крае». В результате был вновь создан Межевской район в составе Авешенского, Барановицкого, Вавиловского, Георгиевского, Дубовихинского, Дубровинского, Никольского, Родинского, Суховского, Селинского, Соловьевского, Трусовского, Черемисского, Петушихинского и Высоковского сельсоветов.
При образовании в 1944 году Костромской области Межевской район вошел в ее состав.
В 1954 году было проведено разукрупнение сельсоветов. Трусовский и Дубровинский сельсоветы были объединены в Петровский; Георгиевский и Суховский — в Георгиевский; Соловьевский и Черемисский — в Соловьевский. Всего в районе в это время насчитывалось 12 сельсоветов: Авешинский, Барановицкий, Вавиловский, Высоковский, Георгиевский, Дубовихский, Никольский, Петушихинский, Петровский, Родинский, Селинский, Соловьевский.
Решением Костромского облисполкома № 273 от 16 апреля 1959 года Авешинский сельсовет был упразднен, населенные пункты были переданы в Георгиевский и Петровский сельсоветы.
Решением Костромского облисполкома № 854 от 20 октября 1959 года были упразднены Барановицкий, Вавиловский, Высоковский сельсоветы. Решением Костромского облисполкома № 96 от 15 февраля 1960 года были упразднены Родинский сельсовет, населенные пункты Черная, Чесноков, Красногорье, Б-Каменка, Григорьевское, Кузьмиха, Высоково из Соловьёвского сельского совета были переданы в состав Георгиевского сельского совета.
В 1960 году Межевской район состоял из Георгиевского, Дубовихского, Никольского, Петровского, Петушихского, Селинского и Соловьёвского сельсоветов.
В 1963 году Межевской район был ликвидирован, его территория вошла в состав Мантуровского сельского района. В пределах прежней территории район был восстановлен в 1965 году.
На 1 января 1981 года в состав района входили Алешковский, Георгиевский, Никольский, Петровский, Петушихинский, Родинский и Селинский сельсоветы.
В соответствии с законом области «Об установлении границ муниципальных образований Костромской области и наделении их статусом» от 30 декабря 2004 года № 237 район получил статус муниципального района.