John Dillinger (Johnny Depp) era um criminoso audacioso e violento, mas que atraía a opinião pública ao seu favor, principalmente, porque dizia retirar das instituições financeiras o dinheiro que elas roubavam do cidadão. Seus assaltos a bancos e fugas rápidas enlouqueciam a polícia que não tinha condições de enfrentá-lo. Assim, prender o assaltante tornou-se uma obsessão do então burocrata J. Edgar Hoover (Billy Crudup), que disposto a tudo para fortalecer o famoso F.B.I., coloca Dillinger como o inimigo público número um. Para ajudar em sua missão, Hoover contrata o policial Melvin Purvis (Christian Bale) e o deixa igualmente obcecado pela captura do bandido, que se apaixona por Billie Frechetti (Marion Cotillard) e acaba complicando a sua vida.