The film opens in 19th century Maryland where several Baltimore policemen are chasing after the screams of a woman in an apartment. The police arrive at the apartment in time only to discover a woman (Jasmina Ilic) sprawled on the floor with her throat sliced open and the corpse of her daughter (Teodora Uveric) stuffed in the chimney. Detective Emmett Fields (Luke Evans) is called to assist in the investigation and discovers that the crime resembles a fictional murder in the short story The Murders in the Rue Morgue, which is part of a collection of stories penned by the writer Edgar Allan Poe (John Cusak).
Poe has become a social pariah and penniless drunkard whose stories have not been circulated for some time. He has fallen in love with the beautiful young Emily Hamilton (Alice Eve) and desires to marry her but faces opposition from her father Captain Charles Hamilton (Brendan Gleeson), a military man who loathes Poe and goes to the length of threatening physical violence. Poe is brought to see Fields for questioning and is horrified to learn someone is using his stories as the backdrop for a series of murders. Fields then proposes that Poe volunteer his services to help the police catch the killer and Poe agrees to the task.
The two men are called to investigate the murder of literary critic Rufus Griswold (John Warnaby), the man who became Poe's rival after a feud that was published in the Baltimore newspapers. Poe realizes the gruesome crime resembles a scene from The Pit and the Pendulum as Fields notices a red demon mask near the corpse. The two then deduce that the scene of the next crime will take place at Captain Hamilton's annual masquerade ball a scene that will resemble the Masked Ball in The Masque of the Red Death.
Fields assigns several members of the Baltimore Police to go undercover as guests at the Masked Ball. Sometime before midnight, at the height of the festivities, a man on horseback dressed in a skeleton costume appears. Fields shoots the man only to learn he was an actor hired for the entertainment and receives an anonymous note. Poe then realizes Emily has been kidnapped, meaning the event was all a distraction. It's revealed in the killer's note that he will continue to commit murders and leave clues to Emily's location. The killer then threatens to kill Emily if Poe does not start writing columns for the newspaper that describe the brutal combination of fact and fiction forcing Poe to comply with the request in order to save Emily.
The local Medical School's anatomy class discovers a live raven and the corpse of a prostitute in theatrical clothing. Poe and Fields investigate and deduce the scene resembles The Mystery of Marie Rogęt except for one detail the blood on the corpse's hands was not an element of Poe's story. The two soon learn the woman was an actress (Ana Sofrenovic) in costume as Lady Macbeth and rush to the theatre where the victim worked, demanding to see all the stage hands. All the stage hands are accounted for except for Maurice Rabichaux (Dejan Cubrilov), a sailor on leave after his ship landed in Baltimore. Poe and Fields notice a mysterious figure running along the catwalks and pursue him but the figure escapes. Fields later makes an off-handed comment that the name of the ship Maurice arrived on is the Fortunato which prompts Poe to realize the next murder will resemble The Cask of Amontillado.
Poe and Fields search tunnels under the city with several policemen and discover an area with fresh brickwork, an area that might be where Emily is being held. The officers smash through the brick and discover what appears to be a woman with blonde hair in the costume Emily wore the night she was kidnapped. But the body is revealed to be that of the sailor Maurice, who was dressed to resemble Emily after he was killed and buried in the niche.
Two clues are found on Maurice: a pocket watch that was stopped at 12:27 and then stuffed into his mouth, and a tattoo on his back that had some flesh carved out of it. Poe and Fields deduce these clues will give the location of Emily, and Poe realizes a church in Baltimore called Holy Cross is where Emily must be. Everyone races to the church but they find it locked. While attempting to break in, one policeman whose name is PC John Cantrell (Oliver Jackson-Cohen) shoots at the killer but the latter jumps from the roof and slits PC Cantrell's throat. Poe and Fields hear the shooting and race to catch the killer who shoots Fields and incapacitates him. Poe takes after the killer in a horse race but the killer escapes. Poe walks back to the church where he meets up with Captain Hamilton, who finally apologizes for his treatment of Poe. Fields discovers a grave at the church that has Emily's name written on a wooden cross, but the grave is empty.
Poe then decides to write a new column in which he tells the killer that he's tired of this game and is willing to exchange his life for Emily's if only the killer would release Emily. Poe dashes this new column off quickly, the editor loves it, and Ivan (Sam Hazeldine) the typesetter is then tasked with getting the column to print. People in Baltimore, while still enjoying the excitement of the murders, decide to burn down Poe's house because they blame his stories for inspiring this bloodshed.
Poe then moves in with Fields because he no longer has lodgings. In the morning, the maid gives Poe both the newspaper and a letter from the killer. Poe deduces that the killer left the note on the doorstep the night before. Then, the paper boy came by and put the newspaper on top of the note after it stopped raining. Poe therefore deduces that the killer is someone who read his new column before it was published. Poe then assumes the killer is the newspaper editor.
Fields, meanwhile, is having surgery with no anesthetic to remove a bullet from his shoulder. The doctor uses a magnet to find the bullet in his flesh, an experience Fields later uses to realize that the ink the killer used in all his notes was magnetic. Since this is the type of ink used in newspaper printing, Fields later independently realizes that someone at the paper is the killer.
Poe reaches the newspaper office and finds the editor dead, with his hands separated from his arms and his body arranged at his desk as if writing a letter. In front of the editor is a note that reads, "Getting Warmer!" Ivan congratulates him on finding him, and then explains that he missed Poe's writing so much that he decided to make up a story of his own and then act it out in real life so that Poe would have to write about it.
Poe pulls out a gun but Ivan reminds him that Emily will die if he pulls the trigger. So Poe hands the gun over to Ivan and tells him that he can kill him if he will release Emily. Ivan gives Poe a vial of poison and tells him to drink it, so that he can keep talking to his "favorite writer" while the poison slowly kills him. Once Poe is too weak to go for help, Ivan tells Poe that he's moving to Paris because he wants to do the same to Jules Verne. Poe learns that Ivan will be traveling under the name "Reynolds".
Before Ivan leaves, he makes a reference to The Telltale Heart and Poe realizes that Emily is buried under the floor right where he's sitting. He breaks through the floor into the cellar and digs Emily out. The police get there and put Emily in an ambulance. Poe wanders off to a park bench to die after telling Emily that they will be married in heaven. While he's sitting there, a bearded man comes over and says he recognizes him as "Edgar Poe" the famous writer. That pleases Poe, but the poison has him so addled, all he can say to the man is "tell Fields his name is Reynolds", which the man interprets as nonsense. Later, at the hospital where Poe is pronounced dead, the doctor tells Fields that Poe's last words were unintelligible, that he had "said that Fields' last name was Reynolds".
Ivan is seen exiting a train station in France, and as he enters a carriage wherein Fields greets him with a pistol. Then, Ivan jumps at Fields and a gunshot is heard.