New York, seconda metà del ‘800: è in corso la guerra civile, quando il giovane immigrato irlandese Amsterdam Vallon (Leonardo di Caprio) sfida Bill Poe (Daniel Day-Lewis), il potente leader degli anti-immigrati che gli ha ucciso il padre (Liam Neeson).
L’impresa è ancora più ardua quando Amsterdam rimane affascinato da Jenny Everdeane (Cameron Diaz), una ladruncola misteriosa e molto bella.