Detective Story

The story begins with the arrest of a shoplifter (Lee Grant) and her booking at the 21st police precinct in New York City. Outside, Det. Jim McLeod (Kirk Douglas) is sharing a romantic moment with his wife Mary (Eleanor Parker), and they discuss the children they are planning to have. McLeod returns to the precinct to process a young embezzler named Arthur Kindred (William Reynolds).
McLeod then encounters Endicott Sims (Warner Anderson), lawyer of "Dutchman" Karl Schneider (George Macready), a New Jersey doctor who has had his license revoked and is now wanted on murder charges. Sims informs Lieutenant Monaghan (Horace McMahon) that Schneider wants to turn himself in to avoid the wrath of McLeod, who has apparently been conducting an ongoing hate campaign against the doctor, who is known to perform abortions. McLeod professes his hatred of Schneider, and in fact all criminals, lamenting that the law merely "coddles them."
Two burglars, Charley Gennini (Joseph Wiseman) and Lewis Abbott (Michael Strong), are brought in next. With the help of his partner Lou Brody (William Bendix), McLeod interrogates the men and manages to turn Abbott against Gennini. Further investigation proves that Gennini essentially makes a living out of thievery. When his record comes in, it turns out that he has done far worse than stealing.
When Schneider arrives with Sims, McLeod taunts him, then explains that the doctor's assistant, Miss Hatch (Gladys George), has implicated Schneider and will pick him out of a line-up. To McLeod's disgust, Schneider has bribed Hatch with a fur stole, and she fails to identify him. McLeod explodes and calls Hatch a liar before dismissing her. He admits to reporter Joe Feinson (Luis Van Rooten) that his hatred for his father and "his criminal mind" (who drove his wife to a lunatic asylum) is what fuels his crusade against evil-doers.
McLeod starts to take Schneider to Bellevue Hospital where a young victim of Schneider's work is being treated. However, on the way he is told that she has died and without her identification, there is no case against Schneider. As they head back to the precinct, Schneider threatens McLeod with information he claims to have on the detective, taunting him that he has a lot of pull in high places. McLeod responds by slapping and punching Schneider, who collapses. As an ambulance is called, Schneider mentions the name "Giacoppetti" and a woman to Lt. Monaghan, which presumably has something to do with McLeod. When Sims comes by to protest his client's treatment, he inadvertently revealsâonly in the presence of Monaghanâthat the woman is Mary McLeod.
Arthur's boss, Albert R. Pritchett (James Maloney), comes to the precinct to file charges against Arthur. A family friend, Susan (Cathy O'Donnell), arrives and gives Pritchett $120 she scraped together, hoping no charges are filed against Arthur. McLeod tries to dissuade Susan, but she pleads with Pritchett, swearing that the funds will be repaid the next day. Arthur stole the money to pay for a dinner date with an old flame, Susan's beautiful sister, in a vain attempt to rekindle her interest in him. Brody sympathizes with Arthur because the young man had served in the U.S. Navy during the war, and was about the same age as Brody's son, who died on the USSÂ Juneau in 1942. Brody talks Pritchett into accepting Susan's money but McLeod, who is angered by Brody's interference, essentially bullies Pritchett into filing charges, stating that a first offender always becomes a repeat offender (using Gennini as an example), and no mercy should be shown.
Mary McLeod is asked to come to the station by Lt. Monaghan, who in the privacy of his office inquires about her relationship with Giacoppetti, a racketeer, or Schneider. She denies knowing them, but when Giacoppetti walks in and greets her, she bursts into tears. Giacoppetti, pressured by Monaghan, admits that Mary had gotten pregnant while they dated and gone to Dr. Schneider for an abortion. Mary confesses to her husband and asks his forgiveness. McLeod brutally responds that he'd rather die than find out his wife is "a tramp," and asks if her infertility was caused by Schneider's abortion. Stunned and severely hurt by Jim's reaction, Mary leaves in tears.
Susan professes her love for Arthur. The shoplifter is permitted to leave. McLeod, meantime, urged by Brody and Feinson to forgive his wife, tries to curb his anger. Mary returns to the station to say goodbye to McLeod and he pleads with her to stay. Mary relents, but after a snide comment made by Sims about Mary's love life, McLeod falls back on his anger and asks how many men there were before he met her, admitting he cannot wash away the "dirty pictures" in his mind. Calling him cruel and vengeful, she leaves McLeod for good, not wanting to be "driven to a lunatic asylum."
Gennini, taking advantage of the commotion started when a victim runs into the station yelling she's been robbed, grabs a gun from a policeman's holster and shoots McLeod when he deliberately advances on him. McLeod, in his dying words, asks for his wife's forgiveness and has Brody tear up the charges against Arthur Kindred. McLeod then begins an Act of Contrition, which Brody finishes after McLeod dies. A distressed Brody then releases Arthur while admonishing him "not to make a monkey out of me." Arthur and Susan leave as Monaghan calls for a priest and Joe calls his newspaper to inform them of McLeod's death.

Question: Who Shoots McLeod?
Answer: Gennini.