Район расположен в юго-западной части Костромской области. Плотность населения 22 человека на 1 кв.км. Район граничит с Любимским, Даниловским и Некрасовским районами Ярославской области, с Красносельским, Сусанинским, Судиславским и Нерехтским районами Костромской области. Администрация района находится в городе Костроме.
Костромской район является самым большим районом области по численности, а также по плотности населения.
В начале XVIII века земли старинного Костромского уезда вошли в состав учрежденной Московской губернии. Спустя несколько лет в ней была выделена Костромская провинция, в которую входили Кострома с пригородами Буем, Судиславом, Любимом и Кадуем.
С 1796 года Костромской уезд вошел в состав Костромской губернии (в юго-западную группу уездов). Наибольшее расстояние от волостного до уездного центра – 76 верст. Площадь его составляла 4 255 кв. верст. По данным переписи 1897 года в уезде насчитывалось 134 347 человек наличного населения (из них 59 813 мужчин и 74 534 женщины). В начале XX века проживало уже 219,9 тыс., плотность населения составляла 51,6 человек на кв. версту. Населенные пункты: 2 города, 1 посад, 6 слобод, 85 сел, 995 деревень, 46 селец, 58 отдельно стоящих усадеб. В 1907 году насчитывалось 469 промышленных предприятий.
Основными занятиями населения Костромского уезда были фабричная промышленность и кустарные промыслы: бумаготкачество и ткачество льняных изделий, выработка светилен, бондарный, выделка лопат, ковшей, плетение корзин, лаптей, точение шпуль, горшечное, тележное, колесное производства, тканье сит, ювелирное (с. Красное). В отход уходили каменщики, кирпичники, штукатуры, фабричные рабочие, прислуга, пастухи.
До 1917 года уезд состоял из 21 волости: Андреевской, Апраксинской, Башутинской, Белореченской, Богословской, Бычихинской, Гридинской, Завражской, Ильинской, Каримовской, Климовской, Коряковской, Красносельской, Левашевской, Мисковской, Пушкинской, Семеновской, Челпановской, Чернозаводской, Шишкинской, Шунгенской.
В 1917–1918 были образованы Лобозовская, Сандогорская и Куниковская волости.
В 1923 году число волостей в уезде сократилось до 13: Андреевской (из Андреевской и Сандогорской); Башутинской (из Башутинской и Апраксинской); Белореченской (из Белореченской и Лобозовской); Бычихинской (из Бычихинской), Гридинской (из Гридинской и Пушкинской); Ильинской (из Ильинской, Челпановской (ч), Каримовской (ч)); Коряковской (из Коряковской и Каримовской); Красносельской (из Красносельской и Семеновской (ч)); Левашовской (из Левашовской, Челпановской (ч), Чернозоводской, Климовской); Мисковской (из Мисковской и Куниковской); Судиславской (из Богословской и Завражьинской); Шишкинской (из Шишкинской и Семеновской (ч)); Шунгенской (из Шунгенской).
В 1926 году состав сельсоветов Костромского уезда был следующим: Андреевская волость: Андреевский, Гульневский, Сандогорский, Сухоруковский, Фоминский, Буяковский (с 30 мая 1927); Башутинская волость: Апраксинский, Башутинский, Деминский, Ждановский, Медениковский, Опалихинский; Белореченская волость: Белореченский, Ильинский, Лобозовский, Ряполовский, Шаховский; Бычихинская волость: Абабуровский, Богородицкий, Буровский, Бычихинский, Охочевский, Софьинский, Степановский, Сущевский; Гридинская волость: Боровский, Давыдовский, Минский, Мусульманский, Першутинский, Подсосенский, Сумароковский; Ильинская волость: Авдотьинский, Ивакинский, Обломихинский, Татьянинский, Чернопенский; Коряковская волость: Бакшеевский, Борщинский, Каримовский, Коряковский, Любовниковский, Малышевский, Селищенский; Красносельская волость: Гущинский, Зайцевский, Захаровский, Коробовский, Красносельский, Крючковский, Погост-Барский, Подольский, Прискоковский, Серковский, Халипинский; Левашовская волость: Большесольский, Дубенский, Куликовский, Лапинский, Левашовский, Малосольский, Орешковский, Суворовский, Челпановский, Чернозаводский; Мисковская волость: Куниковский, Мисковский, Пустынский; Судиславская волость: Болотовский, Воронский, Грудевский, Завражьинский, Задорожский, Княжевский, Петровский, Ронжинский, Суворовский, Судиславский, Ясневский; Шишкинская волость: Бедринский, Кореевский, Лихановский, Шишкинский; Шунгенская волость: Аферовский, Губачевский, Саметский, Сухоноговский, Трудослободский, Шунгенский, Яковлевский сельсоветы.
8 октября 1928 года ВЦИК принял постановление «О районировании Костромской губернии». Костромской уезд был упразднен. В состав созданного Костромского района из Костромского уезда вошли: Шунгенская, Башутинская, Ильинская, Мисковская и Бычихинская волости полностью; из Андреевской волости – Сандогорский и Фоминский сельсоветы; из Шишкинской волости – Бедринский сельсовет; из Гридинской волости – Давыдовский, Минский, Мусульманский, Першутинский, Сумароковский и Боровиковский сельсоветы; из Белореченской волости – Ряполовский сельсовет.
Ильинская волость Костромского уезда по постановлению губисполкома от 4 января 1929 года была присоединена к Заволжскому району за исключением селений, объединяемых Чернопенским сельсоветом, которые остались в Костромском районе.
В 1929 году Костромской район вошел в состав Костромского округа Ивановской промышленной области. В его составе имелись сельсоветы: Абабуровский, Апраксинский, Аферовский, Башутинский, Буровский, Бедринский, Богородицкий, Боровиковский, Бычихинский, Давыдовский, Деминский, Ждановский, Губачевский, Куниковский, Минский, Мисковский, Медениковский, Мусульманский (Татарская слобода), Опалихинский, Охочевский, Першутинский, Пустынский, Ряполовский, Сандогорский, Софьинский, Степановский, Сумароковский, Саметский, Сухоноговский, Сущевский, Трудослободский, Фоминский, Чернопенский, Шунгенский, Яковлевский.
После ликвидации в 1930 года Костромского округа Кострома была выделена в самостоятельную административно-хозяйственную единицу и в сентябре 1930 года. Костромскому горсовету был передан в административное подчинение Костромской район. Костромской райисполком при этом был ликвидирован.
Таким образом, Костромской горсовет стал управлять не только территорией, включенной в г. Кострому, но и всей территорией Костромского района.
По постановлению президиума Ивановского облисполкома от 8 декабря 1930 года вновь был организован Костромской сельский район. Этим же постановлением 12 сельсоветов, расположенных ближе к городской черте, были присоединены к городу Костроме.
К г. Костроме были присоединены сельсоветы Малышевский и Селищенский Заволжского района и сельсоветы Костромского района: Опалихинский, Деминский, Давыдовский, Мусульманский, Трудослободской, 4 сельсовета по р. Костроме и вновь образованный в ноябре 1930 г. в Заволжском районе из селений Мисковского и Ивакинского сельсоветов – Середняковский сельсовет.
Остальные сельсоветы вошли в состав Костромского сельского района или остались по-прежнему в Заволжском районе.
В январе 1931 года селения Опалиха и Ребровка Костромского района были включены в черту города.
В августе 1931 года ликвидирован Трудослободский сельсовет. Все его дела, имущество и управление территорией возложены на Костромской горсовет.
14 декабря 1931 года президиум облисполкома вновь поднял вопрос о ликвидации Костромского сельского района. ВЦИК удовлетворил ходатайство Ивановского облисполкома и постановлением «Об изменениях в административно-территориальном делении Ивановской промышленной области» 1 января 1932 года ликвидировал Костромской и Заволжский районы.
Сельсоветы, входившие в состав этих районов, были присоединены к г. Костроме, либо переданы в Боровиковский, Красносельский. Нерехтский, Молвитинский, Любимский районы.
Сельсоветы Костромского района: Пустынский, Сандогорский. Фоминский переданы в Любимский район; Богородицкий, Бычихинский, Охочевский, Ряполовский, Софьинский, Степановский – в Молвитинский район.
В 1932 году вновь образован и присоединен к г. Костроме Гуздыревский сельсовет, а территория Селищенского и Мусульманского сельсоветов включена в городскую черту.
В результате изменений 1931-1932 гг. число сельсоветов, присоединенных к г. Костроме, сократилось до 24: Абабуровский, Апраксинский, Аферовский, Башутинский, Буровский, Губачевский, Гуздыревский, Давыдовский, Деминский, Ждановский. Ивакинский, Каримовский. Коряковский, Куниковский, Малышевский, Минский, Мисковский, Обломихинский, Саметский. Середневский, Сухоноговский, Сущевский, Шунгенский, Яковлевский.
Из этих сельсоветов слагался так называемый Костромской городской район.
10 февраля 1935 года ВЦИК утвердил проект новой сети районов Ивановской промышленной области. Наряду с другими был образован Костромской район. В состав Костромского района вошли сельсоветы: из горрайона: Абабуровский, Апраксинский, Аферовский, Башутинский, Буровский, Губачевский, Гуздыревский, Давыдовский, Деминский, Ждановский, Ивакинский, Каримовский, Коряковский, Куниковский, Минский, Мисковский, Обломихинский, Саметский, Середневский, Сухоноговский, Сущевский, Шунгенский, Яковлевский; из Большесольского района: Бакшеевский, Борщинский, Любовниковский; из Нерехтского района: Авдотьинский; из Красносельского района: Чернопенский.
В 1936 году Костромской район вошел в состав Ярославской области.
В 1941 году в связи с укрупнением Апраксинского сельсовета Костромского района был упразднен Гуздыревский сельсовет этого же района.
В 1944 году Костромской район вошел во вновь образованную Костромскую область. В его состав из Любимского района вошли Пустынский, Сандогорский и Фоминский сельсоветы. Состав сельсоветов Костромского района на 1945 год: Абабуровский, Авдотьинский, Апраксинский, Аферовский, Бакшеевский, Башутинский, Борщинский, Буровский, Губачевский, Давыдовский, Деминский, Ждановский, Ивакинский, Каримовский, Коряковский, Куниковский, Любовниковский, Минский, Мисковский, Пустынский, Обломихинский, Саметский, Сандогорский, Середняковский, Сущевский, Сухоноговский, Фоминский, Чернопенский, Шунгенский, Яковлевский.
В 1954 году было проведено укрупнение сельсоветов. Сандогорский и Фоминский сельсоветы были объединены в Сандогорский; Сущевский, Куниковский и Абабуровский – в Сущевский; Ждановский и Буровский – в Ждановский; Башутинский и Деминский – в Харинский; Минский и Давыдовский – в Николо-Трестинский; Шунгенский, Яковлевский и Аферовский – в Шунгенский; Саметский и Сухоноговский – в Саметский; Бакшеевский, Борщинский, Коряковский и Любовниковский – в Бакшеевский; Обломихинский и Каримовский – в Клобушневский; Середняковский, Ивакинский и Авдотьинский – в Самсоновский. Кроме того, оставались Апраксинский, Губачевский, Мисковский, Пустынский и Чернопенский сельсоветы.
Решением Костромского райисполкома от 5 января 1955 года № 2 «О ликвидации Мисковского и Губачевского сельсоветов Костромского района» в связи с образованием водохранилища Горьковской ГЭС сельсоветы ликвидированы, их функции переданы Сущевскому и Саметскому сельсоветам.
В 1952-1956 гг. в связи со строительством и пуском в действие Горьковской ГЭС, часть Костромской низины, входившей в территорию района, была затоплена, при этом около 4500 жителей из 19 населенных пунктов района были переселены на новое место жительства.
Решением Костромского облисполкома от 18 декабря 1957 года № 663 населенные пункты Байдарка, Глазково, Высоково, Новая и Васильевское были переданы в состав г. Костромы.
Решением Костромского облисполкома от 1 октября 1959 года № 787 в Костромском районе были упразднены: Пустынский сельсовет, его населенные пункты были переданы в состав Сандогорского сельсовета; Саметский сельсовет, его населенные пункты были переданы в состав Шунгенского сельсовета; Ждановский сельсовет, его населенные пункты были переданы в состав Сущевского сельсовета; Клобушневский сельсовет, его населенные пункты были переданы в состав Бакшеевского и Самсоновского сельсоветов. Были переименованы сельсоветы: Харинский – в Николький, Николо-Трестинский – в Минский.
В 1960 году в состав района входили сельсоветы: Апраксинский, Бакшеевский, Минский, Никольский, Самсоновский, Сандогорский, Сущевский, Чернопенский, Шунгенский.
Указом Президиума Верховного Совета РСФСР № 5 (227) от 1 февраля 1963 года был образован Костромской сельский район. В его состав вошли все сельсоветы Костромского, Красносельского и Нерехтского районов, Котовский и Кузнецовский сельские Советы Сусанинского района.
Указом Президиума Верховного Совета РСФСР от 4 марта 1964 года № 10(284) образован Нерехтский сельский район. В его состав из Костромского сельского района выделены все сельсоветы бывшего Нерехтского района.
В 1965 году Костромской сельский район в полном составе был преобразован в Костромской район.
Решением Костромского облисполкома от 5 мая 1965 года № 435 населенный пункт Караваево, городок сельскохозяйственного института «Караваево» и населенный пункт «Никулино» отнесены к категории рабочих поселков, в связи с этим часть населенных пунктов из Минского сельсовета переданы в административное подчинение Караваевского поселкового Совета.
Указом Президиума Верховного Совета РСФСР от 20 сентября 1965 года в городскую черту города Костромы включен поселок Северный машино-мелиоративной станции Костромского района.
Указом Президиума Верховного Совета РСФСР от 30 декабря 1966 года был образован Красносельский район, в состав которого были включены сельсоветы Боровиковский, Гридинский, Захаровский, Прискоковский, Подольский, Сидоровский, Чапаевский и Шолоховский из Костромского района.
На 1 января 1980 года в Костромском районе имелись сельсоветы: Апраксинский (село Апраксино), Бакшеевский (деревня Бакшейка), Котовский (деревня Василево), Кузнецовский (село Кузнецово), Минский (село Минское), Никольский (поселок Никольское), Сущевский (село Сущево), Сандогорский (село Большая Сандогора), Самсоновский (село Ильинское), Чернопенский (поселок Сухоногово), Шунгенский (село Шунга); Караваевский поссовет (поселок Караваево).
Решением Костромского облисполкома от 31 декабря 1980 года № 473 образован Кузьмищенский сельский Совет, в состав которого переданы часть населенных пунктов Никольского и Сущевского сельсоветов Костромского района.
Решением Костромского облисполкома от 17 января 1983 года № 15 зарегистрирован вновь возникший населенный пункт в Апраксинском сельсовете Костромского района, которому присвоено наименование поселок «Волжский».
Решением Костромского облисполкома от 21 августа 1989 года № 209 поселки Сельхозтехника (РТП), Кустово, деревни Марицино, Посошниково, Скорбежки Апраксинского сельсовета и Октябрьский дом-интернат Караваевского поссовета Костромского района переданы в административное подчинение Костромскому городскому совету народных депутатов.
Решением Президиума Костромского областного Совета народных депутатов от 17.01.1991 № 8 образован Середняковский сельский Совет с административным центром в д. Середняя, в его состав переданы часть населенных пунктов из Самсоновского сельского Совета.
Решением Малого Совета Костромского областного Совета народных депутатов от 20 марта 1992 года № 27 рабочий поселок Караваево Костромского района преобразован в сельский населенный пункт – поселок Караваево.
Решением Малого Совета Костромского областного Совета народных депутатов от 7 октября 1993 года № 285 поселок Волжский из административного подчинения Апраксинского сельского Совета Костромского района передан в административное подчинение Костромского городского Совета.
В соответствии с Законом области «Об установлении границ муниципальных образований Костромской области и наделении их статусом» от 30 декабря 2004 года. № 237 район получил статус муниципального района.