O Purgatório tem 33 cantos em tercetos de rima encadeada e conta a subida de uma montanha em três partes: o Antepurgatório, na base, onde esperam os que chegaram tarde; as sete cornijas, onde se purga cada pecado; e o Paraíso Terrestre, no cume. Uma porta guardada por um anjo, no canto IX, separa a primeira parte da segunda.
No Antepurgatório (cantos I a VIII), as almas esperam um tempo proporcional à demora que tiveram em vida, a menos que a oração dos vivos o encurte. Na porta, o anjo grava sete P na testa de Dante, um para cada pecado a lavar. As cornijas vêm nesta ordem: soberba (X a XII), inveja (XIII e XIV), ira (XV e XVI), acídia (XVII e XVIII), avareza (XIX a XXI), gula (XXII a XXIV) e luxúria (XXV e XXVI). No cume (XXVII a XXXIII) estão o muro de fogo, a floresta, o rio de duas águas e a procissão.
A lógica da subida é a doutrina do amor do canto XVII. Três cornijas lavam o amor ao mal do próximo, uma lava o amor frouxo ao bem e três lavam o amor excessivo a bens menores. Há ainda uma regra do lugar que ordena o tempo: de noite não se sobe, porque a escuridão embaraça a vontade com o não poder. Por isso a cântica conta a subida em dias e noites, e cada parada noturna vira ocasião de conversa.