С. П. Козлов родился 16 января 1952 года в Калуге в семье рабочего, бывшего фронтовика.
Со школьных лет он мечтал стать военным, и в 1967 году, после окончания 8-го класса школы, поступил в Московское суворовское военное училище, которое окончил в 1970 году.
В 1974 году окончил Рязанское высшее воздушно-десантное командное дважды Краснознамённое училище имени Ленинского комсомола.
Служил в Краснознамённом Туркестанском военном округе командиром взвода, затем роты 56-й гвардейской отдельной десантно-штурмовой бригады.
С 1979 года находился в составе ограниченного контингента советских войск в Афганистане.
В феврале 1980 года подразделению, которым командовал С. П. Козлов, была поставлена задача взять под охрану стратегически важный мост через реку Кокча. В ходе выполнения приказа десантники вступили в бой с афганскими оппозиционерами. Бой выдался тяжёлым, преимущество было на стороне противника. В один из моментов боя старший лейтенант Козлов, совершив бросок через зону огня, забросал гранатами башню возле моста, уничтожив таким образом укреплённую огневую точку. Это позволило подразделению отбросить противника и закрепиться на объекте. С. П. Козлов лично уничтожил более 20 врагов, но получил тяжёлое ранение.
Указом Президиума Верховного Совета СССР от 28 апреля 1980 года за мужество и героизм, проявленные при оказании интернациональной помощи Демократической Республике Афганистан, старшему лейтенанту Козлову Сергею Павловичу присвоено звание Героя Советского Союза с вручением ордена Ленина и медали «Золотая Звезда». Это был один из первых случаев присвоения геройского звания военнослужащим ОКСВА.
После лечения в Ташкентском госпитале в 1981 году С. П. Козлов становится слушателем Военной академии имени М. В. Фрунзе. В это же время его избирают членом ЦК ВЛКСМ. Наряду с учёбой в академии офицер занимается общественно-партийной деятельностью. В центральных газетах — в «Комсомольской правде», в «Красной звезде» появляются его заметки на тему военно-патриотического воспитания.
По окончании военной академии С. П. Козлов продолжил службу в Прикарпатском военном округе. Был военным комиссаром Виноградовского района Закарпатской области Украины, дослужился до звания полковника.
25 апреля 1993 года Сергей Павлович Козлов скончался от инфаркта. Похоронен в городе Виноградове. Семья героя (жена и сын) переехала в город Хмельницкий.
В 1999 году С. П. Козлову посмертно было присвоено звание почётного гражданина города Калуги. На здании калужской школы № 6, в которой он учился, установлена мемориальная доска.