As the movie begins, Max Payne (Mark Wahlberg
) is struggling to surface in a ice-crusted river. In a voice-over, he is also narrating. The film then cuts to one week earlier, where Max working as a clerk in the Police Departments cold-case unit. He is obsessed with finding the killer who brutally murdered his wife, Michelle, and newborn daughter. Looking for new leads, Max crashes a party run by his snitch, Trevor Duncan, where he meets Natasha Sax (Olga Kurylenko
) and her sister, Mona (Mila Kunis
). Natasha and Max go back to his place where she wants to have sex and even offers to act as Max's deceased wife. An upset Max asks Natasha to leave and while she is walking in an alleyway and talking to her drug dealer on the phone, she is hunted, attacked and killed by a mysterious flying entity.
The next day, Max and his former partner Alex Balder (Donal Logue
) investigate her murder. Alex reveals that Max's wallet was found at the crime scene and that Alex is the prime suspect. Back in his office, Alex discovers that a tattoo of wings found on Natasha's arm is similar to the one on the arm of one of men he killed at the time of Michelle's murder. Alex tries to call Max to reveal what he's learned, but gets his voice mail. Max receives the message and rushes to his apartment only to find Alex dead. Max is suddenly attacked and thrown around until he blacks out. Max wakes up in the hospital beside his mentor B.B. Hensley (Beau Bridges
). Max goes to Alex's house to offer his condolences but is forced to leave by his wife Christa Balder (Nelly Furtado
), who says that Max has always pushed away everyone who ever cared about him. Later, Max again meets Mona Sax, who believes Max killed Natasha, but Max convinces her that they are both looking for someone else. After storming into Alex's precinct and searching through his partner's investigative files, Max learns that a man named Owen Greene was the last person Natasha called before her death.
The scene shifts to crime boss Jack Lupino (Amaury Nolasco
) who has become unstable and increasingly berserk due to addiction to the drug Valkyr. He gives the drug to another wing-tattooed junkie and shortly afterwards kills him. Max and Mona find Owen Greene's apartment but hear him screaming. Owen has also become unstable and hallucinated due to Valkyr and backs away from Max and Mona towards the edge of the apartment. He is then pulled by a demonic creature on wings and falls to his death. Max and Mona go to see a tattooist who did Natasha's tattoos; when asked about the winged tattoo, he tells that it is the wing of a Valkyrie, the Norse mythological deity that carried to Heaven only those that died violently in combat. Max then arrives at Aesir Pharmaceuticals headquarters, Michelle's former workplace, to talk with her former supervisor, Jason Colvin (Chris O'Donnell
). After beating him and threatening him at gun point, Colvin reveals what he knows. He explains that Michelle was working on a big military-related project with Aesir's CEO, Nicole Horne (Kate Burton
) on the development of a stamina-enhancing drug for soldiers. Colvin also reveals that the drug only worked in 1% of the test subjects and the remaining suffered severe traumatic hallucinations about demonic creatures. Because of the hallucinations, they had to shut the project down. Colvin tells Max that his wife was killed because of the drugs. He says everything Max wants to know is inside an envelope Colvin has been carrying around. Covin's secretary alerts B.B., the company's security chief, who summons an internal security team. As Max and Colvin attempt to leave, Max identifies himself as a police officer, but Colvin is deliberately killed to prevent him from revealing what he knows, but Max manages to escape with the envelope, amidst a shooting spree, not before a brief encounter with Jim Bravura (Ludacris
) , an internal affairs agent.
Mona later finds Max in an abandoned warehouse, watching the video inside Colvin's package. It is revealed that Aesir Pharmaceuticals was the company manufacturing Valkyr for the military. It was a drug created for the purpose of enhancing a soldier's ability in combat and to control their fears. It is also revealed that, before becoming unstable and a rampage killer, Jack Lupino was a former sergeant who volunteered for Valkyr testing; in the video interview, Lupino stated that "he felt invincible" and "suffered no side effects". Mona tells Max that Lupino's lair is at Ragna Rock. Max goes there and successfully kills all of Lupino's henchmen. Max then encounters Lupino, who attempts to force the drug into Max's body. Before he can, he is shot dead by B.B. While leaving Ragna Rock with B.B., Max is knocked unconscious by B.B.'s assistant. Max is then showed walking handcuffed between B.B. and his assistant, who confesses he is the lead manufacturer of Valkyr and the runaway killer that Max has been searching for. B.B. and his partner then attempt to eliminate Max. Making him look like a drug-addicted suicidal by slipping two vials of the Valkyr drug in his jacket pocket, and then attempting to drown him in a freezing river. Max sinks to the bottom as we saw in the opening scene of the movie, but only the thought of his wife and daughter give him the strength to struggle and he barely makes it out alive. In order to combat freezing to death, he ingests the two vials of Valkyr that B.B. had earlier put in his jacket. The effects are felt immediately as he revives. His strength and anger are magnified, but he also hallucinates, seeing the demonic winged creatures, which are revealed to be the mythological Valkyries.
A strengthened and berserk Max then rushes to Aesir Pharmaceuticals to kill B.B., but in the middle of the shooting, distracted by his increasing hallucinations, Max is almost killed by one of B.B.'s security team members. Mona arrives and saves Max. She offers to hold the rest off until he reaches his former mentor. B.B. has arranged a helicopter to evacuate him while his assistant tries to blow up the rooftop access with explosives. Mona fatally wounds the assistant, but he still manages to blow up the floor he is on. Max catches up with B.B. and, despite being shot twice, he shoots B.B. dead. Max then slumps near the edge of the building and the dark, snowy, cloudy city sky is now clearing up and the sun appears shining on Max's face. He then experiences an image of himself, his wife and daughter together and Michelle saying, "Not yet, Max". With this he returns to the helipad and the arriving police.
In a post-credit scene, Max Payne meets Mona Sax at a bar. They say nothing, but Mona gives Max a newspaper article that shows Aesir's CEO, Nicole Horne, and the headline, "Aesir profits soars". Max and Mona give each other a knowing look.