갱이 된 경찰, 경찰이 된 갱 엇갈린 운명의 길을 걷는 두 남자의 대결이다.
남부 보스턴 매사츄세츠 주 경찰청은 프랭크 코스텔로(잭 니콜슨)가 이끄는 막강한 세력을 지닌 보스턴 최대 범죄조직망을 일망타진하기 위해 신참 경찰 빌리 코스티건(레오나르도 디카프리오)을 조직에 침투시킨다.
빌리가 경찰 뱃지를 반납하고 보스턴 길거리를 떠돌다 코스텔로의 신임을 얻기 위해 애쓰는 동안 또 다른 신참 콜린 설리반(맷 데이먼)은 경찰청 내에서 승승장구하여 특별 수사반에 배치된다.
거짓된 충성, 목숨을 건 도박 의리도 정의도 없는 냉혹한 세계 특별 수사반의 임무 역시 코스텔러를 제거하는 것이다.
그러나 사실 콜린은 경찰청에 투입된 코스텔로의 첩자다.
경찰청의 동태를 사전에 코스텔로에게 알리는 게 그의 진짜 임무였던 것이다.
결국 갱단과 경찰이 서로 상대방의 조직에 위장 침투한 것이다.
빌리와 콜린이 서로의 임무를 수행하는 동안 양쪽 조직 모두 첩자의 존재를 눈치챈다.
언제 정체가 탄로날지 모르는 상황 속에서 두 사람은 상대방의 정체를 캐내기 위해 혈안이 된다. 상대보다 한발 늦으면 자신이 죽는 상황이다.
두 남자는 서로의 운명에 비극의 총구를 겨누게 된다.
얼마 뒤, 경찰의 정보원으로 신분이 확인된 빌리의 장례가 성대하게 치러진다.
콜린은 자신의 정체를 아는 사람이 없으니 장래가 유망한 젊은 경찰로 남을 것처럼 보인다.
하지만 매돌린과는 완전히 틀어지게 되고, 상심하며 집으로 돌아온 콜린은 자신에게 총을 겨누고 있는 디그넘을 보게 된다.
콜린은 모든 걸 체념하듯이
“알았어.”
한 마디만 남기고 디그넘이 쏜 총에 맞아 살해당한다.
살해당한 콜린의 시체를 뒤로 하고, 매사추세츠 주의사당이 보이는 콜린의 아파트 발코니 난간을 쥐 한 마리가 지나가는 장면을 비추며 영화는 막을 내린다.