Para interpretar el papel de Reiner se tuvieron en cuenta los actores estadounidenses Bradley Cooper y Jeremy Renner, pero finalmente fue Javier Bardem el escogido para encarnar dicho papel.
En un principio la actriz Angelina Jolie fue escogida para interpretar el papel de Malkina, pero ella abandonó el proyecto por problemas en su agenda y finalmente fue reemplazada por Cameron Diaz.
El equipo encargado del casting, contó con la famosa actriz americana Natalie Portman para que interpretase un papel en esta película, pero finalmente no fue escogida para ninguno.
La actriz Penélope Cruz, que interpreta el papel de Laura y Javier Bardem, que interpreta el papel de Reiner, son pareja en la vida real, sin embargo no comparten escenas en esta película.
El rodaje de la película se paralizó durante una semana porque Tony Scott, el hermano del director Ridley Scott, se suicidó en agosto de 2012. El rodaje continuó el 3 de septiembre.