La película fue rodada en Suecia, con Rooney Mara como Lisbeth Salander, Daniel Craig como Mikael Blomkvist, Robin Wright como Erika Berger, Stellan Skarsgård como Martin Vanger y Christopher Plummer como Henrik Vanger.