It's New York City, 1863 and Amsterdam Vallon (LEONARDO DICAPRIO) is a young Irish-American orphan who's just been released from a "house of refuge." Sixteen years earlier and as a young boy, Amsterdam watched a massive street battle in the Five Points district between the Dead Rabbits forces led by his father, Priest Vallon (LIAM NEESON), and the Nativists under the control of William "Bill the Butcher" Cutting (DANIEL DAY-LEWIS).
Amsterdam wants to avenge his father's murder and lucks out when he runs into Johnny Sirocco (HENRY THOMAS), a street thief who works for Bill. Johnny doesn't give up Amsterdam's identity and the young man ends up working for Bill as well, eventually becoming his close confidant. While the Dead Rabbits have been outlawed by Cutting -- who unofficially runs the area along with corrupt politician William "Boss" Tweed (JIM BROADBENT) - he stills honors Amsterdam's father as the last reputable man he fought.
Men who once followed the Priest, such as Happy Jack (JOHN C. REILLY) and Charles McGloin (GARY LEWIS), now work for Bill and share his disdain for the hordes of immigrants who arrive daily at the docks. Most are signed up directly into the Union Army to be sent to the South, and soon everyday men will be drafted into the army if they can't come up with the $300 deferment fee.
When not moving in closer with the enemy, Amsterdam has taken a liking to Jenny Everdeane (CAMERON DIAZ), an accomplished pickpocket who also has a past with Cutting. As time passes and with the aid of former Dead Rabbit, Monk McGinn (BRENDAN GLEESON), Amsterdam finally makes his move on avenging his father's death. From that point on, the city careens toward violence on various fronts.