Newcastle-born gangster Jack Carter has lived in London for years in the employ of organised crime bosses Gerald and Sid Fletcher. Jack is sleeping with Gerald's girlfriend Anna and plans to escape with her to South America. But first he must return to Newcastle and Gateshead to attend the funeral of his brother Frank, who died in a purported drunk-driving accident. Unsatisfied with the official explanation, Jack investigates for himself. At the funeral Jack meets with his teenage niece Doreen and Frank's evasive mistress Margaret. It is later implied that Doreen might actually be Jack's daughter.
Jack goes to Newcastle Racecourse seeking old acquaintance Albert Swift for information about his brother's death, however Swift spots Jack and evades him. Jack encounters another old associate, Eric Paice, who refuses to tell Jack who is employing him as a chauffeur. Tailing Eric leads him to the country house of crime boss Cyril Kinnear. Jack bursts in on Kinnear who is playing poker but learns little from him, he also meets a glamorous drunken woman Glenda. As Jack leaves Eric warns him against damaging relations between Kinnear and the Fletchers. Back in town, Jack is threatened by henchmen who want him to leave town, but he fights them off, capturing and interrogating one to find out who wants him gone. He is given the name "Brumby".
Jack knows Cliff Brumby as a businessman with controlling interests in local seaside amusement arcades. Visiting Brumby's house Jack discovers the man knows nothing about him and, believing he has been set up, he leaves. The next morning two of Jack's London colleagues arrive, sent by the Fletchers to take him back, but he escapes. Jack meets Margaret to talk about Frank, but Fletcher's men are waiting and pursue him. He is rescued by Glenda who takes him in her sports car to meet Brumby at his new restaurant development at the top of a multi-storey car park. Brumby identifies Kinnear as being behind Frank's death, also explaining that Kinnear is trying to take over his business. He offers Jack ÂŁ5,000 to kill the crime boss, which he flatly refuses.
Jack has sex with Glenda at her flat, where he finds and watches a pornographic film where Doreen is forced to have sex with Albert. The other participants in the film are Glenda and Margaret. Overcome with emotion Jack becomes enraged and pushes Glenda's head under water as she is taking a bath. She tells him the film was Kinnear's and she thinks Doreen was 'pulled' by Eric. Forcing Glenda into the boot of her car, Jack drives off to find Albert.
Jack tracks Albert down at a betting shop. Albert confesses he told Brumby Doreen was, indeed, Frank's daughter. Brumby showed Frank the film to incite him to call the police on Kinnear. Eric and two of his men arranged Frank's death. Information extracted, Jack fatally knifes Albert. Jack is attacked by the London gangsters and Eric, who has informed Fletcher of Jack and Anna's affair. Jack shoots one of them dead. As Eric and the others escape they push the sports car into the river with Glenda trapped inside. Returning to the car park Jack finds Brumby, beats him senseless and throws him over the side to his death. He then posts the pornographic film to the Vice Squad at Scotland Yard in London.
Jack abducts Margaret at gunpoint. He telephones Kinnear in the middle of a wild party, telling him he has the film and makes a deal for Kinnear to give him Eric in exchange for his silence. Kinnear agrees, sending Eric to an agreed location; however, he subsequently phones a hitman to dispose of Jack. Jack drives Margaret to the grounds of Kinnear's estate, kills her with a fatal injection and leaves her body there. He then calls the police to raid Kinnear's party.
Jack chases Eric along a beach. He forces Eric to drink a full bottle of whisky as he did to Frank, then beats him to death with his shotgun. As Jack is walking along the shoreline, he is shot through the head by the hitman with a sniper rifle.

Question: Who killed Jack?
Answer: The hitman
Alternative answer: the hitman with a sniper rifle