Neil (Robert De Niro) sets up a botched robbery and loses the lives of Mike (Tom Sizemore) and Donald (Dennis Haysbert) in the process. Chris (Val Kilmer) is shot badly but gets away from the robbery with Neil and the money.
Lt. Vince (Al Pacino) suprises Neil and the robbers with an ambush. Lt. Bosko (Ted Levine) is shot and killed in the process. Vince lets Neil and Chris get away because of the pedestrians in the way and his dead partner.
Neil goes to his "doctor" and fixes Chris up and goes out into LA to find the guy who set him up. Trejo (Danny Trejo), Roger (William Fichtner), and Waingro (Kevin Gage) are all killed by Neil for setting him up. Trejo and Waingro are killed for setting him up on the bank job and Roger was killed because of a past screw over. Neil asks Eady (Amy Brenneman) to come with his to New Zeland and she agrees.
Vince finds out his wife his cheating on him and his step-daughter (Natalie Portman) attempts suicide. Vince is still hot on the trail of Neil and Chris. Chris is set up by his wife (Ashley Judd) but she tells him prior to going to the door that there is a set up for him. Chris takes off and leaves the country with his money.
Vince and Neil battle it out in an airplane field, ending in a bloody showdown. Vince finally gets the drop on Neil and shoots him to death. Neil tells Vince that he would never go back. Vince takes Neil's hand and holds it until he dies.