El rodaje de la película dirigida por Phillip Noyce y su equipo se llevo a cabo a través de Sudáfrica (Ciudad del Cabo y Johannesburgo), Mozambique y Suazilandia desde agosto de 2005. Algunas escenas, como la de la refinería, reunió a cerca de 350 actores y extras.
Esta no es la primera vez que Derek Luke presta su rostro a un personaje que existió. Él ya había interpretado a Antwone Fisher en 2003 en la película del mismo nombre dirigida por Denzel Washington.
Un casting mundial fue organizado para encontrar al actor que interpretaría a Patrick Chamusso en la pantalla. Después de 3 días de pruebas en Los Ángeles, la producción se decidió finalmente por Derek Luke.