La historia se centra en dos niños Buscapé y Dadinho; tienen la misma edad y viven en la zona de Cidade de Deus, un suburbio de favelas de Rio de Janeiro. Vemos como crecen a través de los años 60, 70 y 80.
Finales de los 60
"Buscapé" tiene 11 años y es sólo un niño más en Cidade de Deus, un suburbio de Río de Janeiro. Tímido y delicado, observa a los niños duros de su barrio, sus robos, sus peleas, sus enfrentamientos diarios con la policía. Ya sabe lo que quiere ser si consigue sobrevivir: fotógrafo. "Dadinho", un niño de su misma edad, se traslada al barrio. Sueña con ser el criminal más peligroso de Río de Janeiro y empieza su aprendizaje haciendo recados para los delincuentes locales. Admira a "Cabeleira" y su pandilla, que se dedica a atracar los camiones del gas y hacen otros pequeños robos armados. "Cabeleira" da a "Dadinho" la oportunidad de cometer su primer asesinato. El primero de muchos.
Los años 70
"Buscapé" sigue estudiando, trabaja de vez en cuando, y camina por la estrecha frontera que separa el crimen de la vida "honesta". Dadinho ya tiene una pequeña pandilla y grandes ambiciones. Cuando descubre que el tráfico de cocaína es muchísimo más rentable que el robo se pone a reorganizar su negocio, que pronto florece.
Principios de lo 80
Tras unos intentos de robo fallidos, "Buscapé" finalmente consigue una cámara y así hace realidad el sueño de su infancia. "Dadinho" también ha hecho realidad su sueño: a los 18 años es conocido como "Zé Pequeno", el narcotraficante más temido y respetado de Río. Su palabra es ley en Cidade de Deus. Rodeado por sus amigos de la infancia y protegido por un ejército de niños de entre 9 y 14 años, nadie le disputa el poder. Hasta que aparece "Manu Galinha". Un cobrador de autobús que fue testigo de la violación de su novia, decide vengarse matando a "Zé Pequeno". Empieza a correr la noticia y casi de la noche a la mañana un grupo de niños con la misma idea forma un ejército armado. Estalla la guerra en Cidade de Deus.