The movie begins with detective John Shaft (Samuel L Jackson) investigating a murder outside a restaurant. With the help of a waitress that is very hesitant (Toni Collette) to tell him anything, Shaft arrests Christian Bale for the murder.

Bale is from a rich family and gets off on bail. He goes to Switzerland for 2 years, avoiding any trial. For some reason he returns to the states and Shaft arrests him again as he lands at the airport. When in prison overnight, Bale meets Peoples Hernandez (Jeffrey Wright) who Shaft arrested earlier that day. This Peoples character has the craziest accent. It was easier for me to understand what Jar Jar Binks was saying than Peoples Hernandez

Christian Bale, with the help of his dad's rich lawyers, gets bail again, totally upsetting Shaft and the victims mother. Shaft is so upset he throws his badge towards the judge, sticking into the wall. Shaft announces that he's quitting. He is now a vigilante and is determined to put Bale behind bars for good.

Christian Bale realizes that the waitress knows to much and must be eliminated. He hires Peoples Hernandez to kill her. Peoples in turn, hires two corrupt policemen to find the girl so Peoples' men can kill her.

Shaft is also looking for the girl as her testimony will convict Bale. After two or three tries, Shaft finally contacts the girl. Peoples is there also, ready to kill her, when a big gunfight and car chase happens. During this chase, Peoples' brother is killed. Peoples now couldn't care less about the girl, he just wants to kill Shaft for revenge.

Shaft hides the girl at one of his friends apartment. The two corrupt cops discover this and tell Peoples. Shaft's old partner, Vannessa Williams is there to help Shaft but when she confronts the two cops, they shoot her, presumably killing her. Another big gunfight happens at the apartment ultimately ending with the two cops being killed by Vanessa who earlier was wearing a bullet proof vest, so wasn't killed after all.

After a big chase, Peoples is killed by Shaft in a one on one duel that was supposed to be a fight with no weapons. Of course, they both pulled out hidden guns and Shaft shoots and kills him.

In the end, as Shaft, the waitress and the original victims mother are walking up the court steps to begin the murder trial. When Christian Bale arrives, he is suddenly shot by someone in the crowd. As the camera pans from the gun to the face of the shooter, we find out that it is the victims mother that shot him. She wanted to make sure he wouldn't get off again.

Spoiled by The Movie Spoiler

Movie clips and trailers provided by: film.com
Poster and photos provided by : Yahoo! movies

Jeffrey Wright as Peoples Hernandez
His character really steals the show but to be honest, I couldn't understand a word he said.
Check out the
Samuel L. Jackson as John Shaft
His uncle, Richard Roundtree taught him everything he knows about being a black private dick who's a sex machine to all the chicks.
Samuel L. Jackson and Toni Collette
She is the waitress that was scared to say anything.