Родился Борис Александрович Костров 27 апреля 1918 года в деревне Оларево (ныне Сокольский район Вологодской области) в крестьянской семье.
Поступил в Вологодский педагогический техникум.
Работал заведующим Новосельской начальной школой Усть-Кубинского района, затем учителем школы взрослых в городе Соколе, начсостава районного отделения НКВД.
В последующие три года руководил Сокольским роно.
В 1939 году призван в армию, позже направлен на учебу в Ивановское военно-политическое училище.
В январе 1941 года назначен на должность политрука мотострелковой роты.
В годы Великой Отечественной войны возглавлял сначала истребительный отряд 33-й стрелковой дивизии Северо-Западного фронта, затем батальон и 709-й стрелковый полк 178-й СД (позднее получил название Выборгского).
В декабре 1944 года поступил слушателем на ускоренный курс Военной академии имени М. В. Фрунзе.
С июля 1945 года работал в штабе Забайкальско-Амурского военного округа начальником отделения по использованию опыта войны. В 1948 году поступил на заочное отделение Военной академии имени М. В. Фрунзе, которую окончил в 1952 году.
С 1954 года возглавлял оперативный отдел корпуса Забайкальского военного округа.
В 1954 году — слушатель Академии Генштаба имени К. Е. Ворошилова.
В 1956 году Борис Александрович Костров был назначен заместителем командира 62-й гвардейской мотострелковой дивизии.
С 1959 по 1970 — начальник Калининского военного суворовского училища.
Звание генерал-майора присвоено в 1962 году.
Награжден двумя орденами Красного Знамени, двумя орденами Красной Звезды, орденом Суворова II степени, орденом Трудового Красного Знамени, девятью медалями.
Умер 30 апреля 1970 года.
Похоронен в городе Калинине (ныне Тверь).
Источник: Кувшинников О.А., Шерлыгин А.И. (ред.)., Генералы и адмиралы Вологодчины, Вологда: Вологодский областной информационный центр, 2020 год.
.