Lucky Number Slevin
Everything that has happened in the film has been a setup, planned by Slevin (Josh Harnett) and Mr Goodkat (Bruce Willis).
Slevin is Henry, the young boy we saw at the start of the film. His father and mother were killed on orders of the Boss (Morgan Freeman) and the Rabbi (Sir Ben Kingsley), as Henry's father lost a lot of money on a crooked horse race. Mr Goodkat is called in to kill Henry, who is only seven, but takes pity on him and we are lead to believe that he raises him as a son. 20 years later, Slevin comes into New York and kills the son of the Boss. The Boss then contacted Mr Goodkat in order to kill the son of the Rabbi in retaliation, as he believes it was the Rabbi who ordered his son's shooting. Slevin shoots the Rabbi's son and Mr Goodkat deals with his bodyguards. Then the two of them kill all the Boss's and Rabbi's enforcers and tie the two of them up in the Bosses office. Slevin kills both of them the same way they killed his father; a plastic bag, gaffa taped over their heads. Slevin also kills Detective Brikowski (Stanley Pucci) as he was the one who shot his mother, because (it's implied) he owed money to the Rabbi.
Whilst this is happening, Mr Goodkat shoots Lyndsey the pathologist (Lucy Liu) because she took a photo of his face when they were in the lift together. However Mr Goodkat told Slevin he would do this, and Slevin tells Lyndsey to wear a bullet proof vest. Slevin meets up with her at the airport, but so does Mr Goodkat. But he lets them go, showing the same mercy he did to Slevin 20 years ago.