El nom de Kozelsk és ja mencionat per primer cop el 1146 com a part del Principat de Txernígov. Kozelsk tornarà a aparèixer en les fonts a causa del setge a què fou sotmesa per l'exèrcit de Batu Khan el 1238. El 1446 fou annexionada al Gran Ducat de Lituània. El 1494 la ciutat caigué finalment sota el domini del Gran Ducat de Moscou. El 1607, però, fou base d'una de les unitats sota el comandament d'Ivan Bolótnikov, que s'enfrontava a l'exèrcit tsarista.
Als voltats de la ciutat hi ha el monestir d'Óptina-Pustin. El 1939 serví com a camp de presoners per als oficials polonesos. Entre l'abril i el maig del 1940 l'NKVD va assassinar-hi prop de 4.500 presoners al bosc de Katin.
La ciutat fou ocupada per l'exèrcit alemany l'octubre del 1941, fins al desembre, quan les tropes del Front Occidental la van alliberar. A causa d'aquells combats quedà totalment destruïda i hagué de ser reconstruïda després de la guerra.
Kozelsk és la base d'una divisió de les forces de míssils estratègics russos, dotada de míssils balístics intercontinentals RS-18 (SS-19 Stiletto per a l'OTAN) amb una autonomia de 10.000 km