El coronel no tiene quien le escriba es una novela que narra la vida de un veterano de guerra que espera desde hace quince años una pensión que nunca llega. El coronel vive con su esposa asmática en un pueblo pobre y aislado de la costa colombiana, donde sufre las consecuencias de la violencia política y la miseria. Su única esperanza es un gallo de pelea que heredó de su hijo Agustín, asesinado por el régimen.
La novela se divide en siete capítulos que abarcan tres meses, desde octubre hasta diciembre. En el primer capítulo, el coronel asiste al funeral del primer muerto de muerte natural en muchos años. Al volver a su casa, se encuentra con su mujer, que le reprocha su situación económica y le pide que venda el gallo. El coronel se resiste, pues el gallo es el único recuerdo que le queda de su hijo y además espera que gane una pelea que se celebrará en enero. El coronel también espera cada viernes la llegada del correo, confiando en que algún día le llegue la carta que le anuncie el pago de su pensión.
En el segundo capítulo, el coronel decide cambiar de abogado para agilizar el trámite de su pensión. Escribe una carta al Ministerio de Guerra exigiendo sus derechos y la envía por correo. También visita a su amigo Sabas, un comerciante rico y corrupto que le ofrece comprarle el gallo. El coronel rechaza la oferta y regresa a su casa.
En el tercer capítulo, el coronel y su mujer sufren las consecuencias de la lluvia y la humedad. El maíz que habían comprado para alimentar al gallo se acaba y tienen que darle habichuelas viejas. El médico del pueblo les visita y les atiende gratuitamente, pues también espera cobrar cuando el gallo gane la pelea. El médico les advierte que Sabas quiere engañarlos y revender el gallo a un precio mayor.
En el cuarto capítulo, el coronel va al salón de billar, donde se encuentra con un amigo de su hijo que le da una información clandestina para difundir. De pronto, llega la policía buscando material subversivo, pero el coronel logra escapar sin ser descubierto.
En el quinto capítulo, el coronel y su mujer discuten por la situación del gallo. Ella quiere venderlo para comprar comida y medicinas, pero él se niega a traicionar la memoria de su hijo. El coronel sale de la casa con el gallo y va a ver a Sabas para venderle el animal.
En el sexto capítulo, Sabas le ofrece al coronel novecientos pesos por el gallo, pero le dice que tiene que esperar a que él venda unas mulas. El coronel acepta y deja el gallo en casa de Sabas. Luego va al puerto a esperar el correo, pero no hay ninguna carta para él.
En el séptimo y último capítulo, el coronel regresa a casa bajo la lluvia. Su mujer le dice que Sabas ha vendido el gallo por dos mil quinientos pesos y que ha engañado al coronel. El coronel se enfurece y va a reclamarle a Sabas, pero este le dice que ya no tiene el gallo ni el dinero. El coronel se da cuenta de que ha sido víctima de una estafa y decide recuperar su gallo. Va a la gallera y ve a su gallo peleando con otro. El gallo gana la pelea y el coronel lo recoge entre sus brazos. Luego vuelve a su casa con el gallo y le dice a su mujer que seguirá esperando la carta hasta que llegue.