Professional assassin Martin Q. Blank (John Cusack) finds himself depressed and irritable, dissatisfied with his work and the increasing competition from rival assassins, including Grocer (Dan Aykroyd), whose efforts to cartelize the business puts him at potentially lethal odds with the solitary Martin. Following a botched contract, Martin receives an invitation to his 10 year high school reunion in his home town of Grosse Pointe, Michigan. Initially reluctant to attend, he is pressured into it by both his (understandably nervous) therapist (Alan Arkin) and his secretary (Joan Cusack), already booking him for a contract to re-establish ties with a disgruntled client over the botched contract.
Upon arriving in Grosse Pointe, Martin seeks out Debi Newberry (Minnie Driver), now a radio DJ, whom Martin had abandoned on prom night to enlist in the Army. While Debi's visit suggests hope for redemption, Martin's subsequent visit to his family only heightens his depression; his father is dead, his mother is an emotionally disturbed resident of a nursing home and his childhood home has been demolished and replaced with a convenience store. Reconnecting with friends like Paul (Jeremy Piven) is likewise depressing, as many have integrated themselves with the local community through mundane establishment jobs. When asked about his livelihood, Martin readily reveals that he is a professional killer, a response taken as a joke by everyone he meets. Meanwhile Martin is being stalked by rival hitmen, including Grocer and Felix LaPoubelle (Benny Urquidez), a Basque terrorist hired to kill him; as well as two awkward National Security Agency agents (Hank Azaria and K. Todd Freeman), briefed by Grocer, waiting for him to do his "job" so they can kill him. Despite these dangers, Martin remains distracted by his desire to make amends and procrastinates, not even bothering to glance at the background dossier on the prospective target.
At the reunion, Martin mingles with his former classmates, one of whom hands him her adorable toddler. Martin stares into the child's face and experiences an existential transformation, recognizing that his recent dissatisfaction with his work and his amends with Debi signify an opportunity to change his life. Moments later, reflecting on his decision while exploring the halls of his old high school, Martin is attacked by LaPoubelle, whom he kills in self-defense. Debi stumbles upon the scene and, horrified to find that Martin was not joking after all, flees the reunion. Paul follows only moments later to find Martin, who corrals him into helping to dispose of LaPoubelle's body in the school furnace. Later Debi confronts Martin in his hotel room, where he reveals that psychological testing in the Army revealed "a certain moral flexibility" that made him suitable for a CIA-sponsored "mechanical operations program." After leaving the CIA, he went into business for himself. His rationalizations for his work only horrify Debi even more; she rejects his attempts at reconciliation, and storms out. Martin, concluding that it is futile to attempt to change his life, fires his psychiatrist over the phone and finally opens the dossier containing the details of the contract that brought him to Grosse Pointe and is startled to find that the target is Bart Newberry (Mitchell Ryan), Debi's father, who is scheduled to testify against Martin's client.
Grocer decides to stop waiting for Martin to kill Bart and attempts the job himself, to impress Martin's client and boost his own business. Out of loyalty to Debi, and his newfound care for life, Martin abandons the contract and rescues Bart from certain death, speeding him to the Newberry house and holing up inside, narrowly ahead of Grocer and his team of mercenaries. During the siege, Martin finally reveals that he stood Debi up on prom night to enlist in the Army to channel his strong homicidal urges away from his family and friends. Martin gradually kills the team of mercenaries, the NSA agents (with Grocer's gleeful help) and Grocer himself, moments before proposing marriage to Debi. Debi, shell-shocked from the day's events, doesn't respond. Hours later she and Martin speed out of Grosse Pointe together.