La historia ocurre en Cochabamba, Bolivia en el año 2000.
En la película, se van mezclando dos narrativas. Se trata de una historia dentro de otra historia o de una película dentro de otra película.
La primera tiene lugar en la actualidad de la película, o sea el año 2000. Cuenta la historia de un director de cine, Sebastián (actuado por Gael García Bernal), y un productor, Costa (Luis Tosar), que están rodando una película sobre la llegada de los españoles a América y la conquista del continente por los mismos. Esta película se enfoca en la crueldad de los conquistadores.
Al principio de la película, los vemos cuando están contratando a indígenas (es decir indios) para su película. Es así cómo conocen a Daniel, el líder de la Guerra del Agua, un movimiento social cuyo objetivo era protestar en contra de la privatización del abastecimiento de la ciudad en agua potable.
A partir de ese momento, los comportamientos de los protagonistas van cambiando radicalmente y los paralelos entre ambas épocas aparecen de manera muy clara.
Sebastián es un idealista de izquierdas, que cree en sus sueños. Pero está un poco alejado de la realidad y es el rehén de sus contradicciones.
Costa es más realista pero solo le interesa el dinero y sobre todo ahorrar dinero.
Antón es el actor que actúa de Cristóbal Colón. Dice verdades que no le gustan a Sebastián, por ejemplo. Bebe demasiado y tiene problemas con su familia.