When the project first came about, the title was Shadows on the Sun, and was being written by Bey Logan, writer for several Jackie Chan projects, and also had an entirely different plot. The original story was a period piece with Seagal as an intelligence officer who runs a medical clinic in Japan after World War II. However, by September 2005, Logan was no longer involved, the title was changed to Shadows of the Past, and the script was being penned by Joe Halpin, who has authored several recent Seagal features (Submerged, Into the Sun, Today You Die), and the plot assumed its current form. This has been met with disappointment from some fans, who were excited to see Seagal star in a film that was a departure from the action movies he's done in recent years.
Widowed former CIA agent Jack Foster is an enigmatic Fortune 500 business owner, and is the father of an 8-year-old daughter named Amanda. It's the anniversary of the death of Jack's wife, and Jack is taking Amanda to Romania, which is the birthplace of Amanda's mother, who died 5 years ago. But upon arrival at the airport in Bucharest, Romania, a car bomb blows up his CIA agent father-in-law George's limo, and Amanda is kidnapped. In the chaos, Jack reunites with Harry, a former CIA buddy who has mysteriously reappeared after not seeing Jack for about 7 or 8 years. They take off to track Amanda down, but they lose her -- and Jack is suspicious of Harry.
At a safe house, Harry leaves Jack locked in a secured room, and sends four men after Jack. Jack kills them, and then he escapes. Outside, Jack forces Harry to get inside of an SUV. Harry explains that it has to do with a biological weapon called MK Ultra. It's a virus that causes the infected person to come down with things like influenza, various forms of cancer, you name it. The infected died in 6 months to a year, and the virus is untraceable. George had the formula -- he lifted it from the Black Ops section. He was planning on selling it to the highest bidder -- the FSB, a new branch of the KGB. And now the FSB thinks George slipped the formula to Jack. Harry tells Jack that the FSB doesn't intend to let Amanda go until they get the formula.
Jack puts a gun to Harry's head, and gives Harry two hours to find Amanda. They go to the U.S. Embassy, where he talks to Ambassador Cochran, who wants him to find Amanda. Outside, two Romanian cops named Seaka and Urich put Jack in a car, and take him to the station. They introduce Jack to a woman named Anya, and Jack recognizes Anya as the woman who kidnapped Amanda. Jack is forced to beat up Seaka and Urich while Anya escapes. Later, Jack goes to a building where he is to meet with Harry, who has two men named Schmitt and Chambers with him. Chambers kills Harry, and Jack kills Chambers and exchanges gunfire with Schmitt, who escapes. At the place where Amanda is being held, Anya and Amanda talk, with Anya explaining that she took Amanda in order to protect her. Anya explains that her husband and daughter died three years ago while she was an intelligence agent in England. Her husband and her daughter were killed by people from her own agency.
Since Anya is a cab driver, Jack has a cab driver take him to Club Lido. Seaka and Urich get wind of it, and decide to send a couple of patrol cars to Club Lido. At the club, Jack sees Anya, and he confronts her in the women's restroom as Seaka, Urich, and the patrol cars arrive. Anya pulls a gun and demands a passport and passage to America in exchange for Amanda. Jack takes Anya to a different room, ties her to a chair, and demands answers. Schmitt arrives at the club and runs the cops off. A man named Jensen enters the room just as Jack hides, and demands to know where Amanda is, and then he wants to know where Jack is. Jensen and one of his men start looking for Jack, while Jensen's other two men stay with Anya. Jack and Anya beat up the two men, and head to Anya's car.
Seaka and Urich go to Anya's apartment, and tear the place apart, finding no one there. After Seaka and Urich leave, Jack and Anya arrive, and see a patrol car outside the building. They go around back. Once inside, Anya grabs some documents, and they ditch the two cops. What Jack and Anya don't know is that Schmitt is working for a corrupt CIA agent named Waters, who wants to sell the MK Ultra to the highest bidder. Seaka and Urich want to get their hands on the MK Ultra for the same reason. And it was Schmitt who oversaw the bombing of George's limo. Jack and Anya lay low for a night at a large house. On the next day, Schmitt and one of his men track down Cyrell, a wheelchair-bound man who is watching over Amanda for Anya. Not long after, Seaka and Urich get there, and a few minutes later, Jack and Anya get there.
Jack and Anya go inside and find Cyrell dead. Amanda is not there. But Jack does find Amanda's backpack. Seaka and Urich come in, and Seaka grabs Anya and puts a gun to her head. Seaka tells Jack to give him the MK Ultra, or Anya dies. Jack shoots Seaka and Urich, and Jack and Anya escape. Seaka dies, and Urich calls Jensen and asks for a meeting on the roof of a parking garage. Back at the large house, Jack calls his CIA friend Rogers, who is a hacker. Jack asks Rogers to hack into the MK Ultra project and stop it for good. On the roof of the parking garage, Urich meets with Jensen, the man that Urich and Waters each want to sell the MK Ultra to. Jensen and his man start beating Urich up.
Anya calls Jensen's cell phone number. As part of a plan to set Jensen up, she tells him that Jack is meeting with Waters and Schmitt in the central library. After they hang up, Jensen's man kills Urich. Just as Jack and Anya are leaving the large house, a man in a helicopter opens fire on them. The man is working for Waters. Jack and Anya run back inside and exit out the side door to Anya's cab. As they leave, the helicopter gives chase, and Jack and Anya hide the car in some woods. Jack gets out and fires several shots, causing the helicopter to explode. At the embassy, Jack waits for Ambassador Cochran in her office. Jack tells her to tell Waters to meet with him at the Central Library. At the library, Jack sees Schmitt and Waters.
Jack sits down and tells Waters that Waters won't get the MK Ultra formula until Jack sees Amanda. Waters has one of his men show her to him on a balcony above. Water tells Jack that he has 60 seconds to give up the formula, or Amanda will be thrown off the balcony. All of a sudden, Jack fatally shoots the man who is holding Amanda. Schmitt tries to shoot Anya. Jack grabs Waters's hand, and forces Waters to fatally shot Schmitt. And then Jack fires five shots, killing Waters. As Anya tries to get Amanda to safety, Jensen's two henchmen open fire on Jack. Jack kills one of them, and then confronts Jensen and his other henchman. Jack grabs Jensen's gun hand and causes Jensen to fire two shots, killing the henchman, and then Jack puts Jensen's eyes out, and leaves him to die. As Jack leaves, George steps in front of him with a gun.
George, who is the man behind everything, wasn't in the limo when it exploded. Jack kills George by using a martial arts move, a special hit to the chest, that sends George backwards into a wall, and there is blood on the wall as George slumps down. Rogers hacks into the MK Ultra program and puts an end to the project, and Jack is reunited with Amanda. Later, Ambassador Cochran gives Jack a passport to give to Anya so she can go to America. After Jack and Amanda get back to the USA, Jack gets Amanda a horse for being so brave in Romania.