After a break-up with a spontaneous boyfriend, an overly cautious Jennifer "Jen" Kornfeldt (Katherine Heigl) travels to Nice with her parents (Tom Selleck and Catherine O'Hara). While going into an elevator to go to her hotel room, she meets Spencer Aimes (Ashton Kutcher). Spencer asks her to dinner and she accepts. The scene then changes to Spencer sneaking onto a boat, putting a cellphone-triggered bomb on the bottom of a helicopter, then taking out a guard. He then swims back and goes on the date with Jen.
After a night of drinking, Jen reveals that she's not the spontaneous person she's been pretending to be and in return Spencer bluntly tells her that he's an assassin, albeit unhappy about being one. Unfortunately she's already passed out and hasn't heard. In spite of this, Spencer decides that Jen's the woman he's been looking for and decides to marry her. When Spencer tells his boss, Holbrook (Martin Mull), his plan, the response is that quitting is not an option. Spencer is defiant and goes ahead with his plan.
Three years later, they are settled into their new normal life. After Spencer surprises Jen with a remodeled office, she gives him a birthday surprise: tickets to Nice to celebrate his birthday and their three years. Because of his dubious connections to Nice, Spencer is less than enthusiastic. When her friends ask about his reaction, they take it as signs of that he might be getting bored and fill her head with doubts.
Meanwhile, Spencer gets a postcard from his old boss and the ultimatum to take another assignment. While trying to refuse him long distance, Jen's father shows up to take Spencer to dinner, so Spencer hangs up the phone, prompting suspicion in Mr. Kornfeldt. This is fueled further when Jen's dad sees the postcard and quizzes him about the XOXX (hugs and kisses), being odd coming from a former boss. Stopping home to change, Spencer finds that the dinner invitation is just a detour to bring him to a surprise party. While Spencer navigates drunken friends, Jen's friends continue to fill her head with doubts over Spencer's lack of enthusiasm for the Nice trip. This is further irritated, when the following morning, despite her attempts to be physical with him, Spencer rushes Jen off on her business trip.
A little while later, Jen comes back (without having gone on her trip) to find Spencer being tossed around their house by Henry (Rob Riggle), Spencer's friend and co-worker. Spencer screams for her to get his gun (of which she was unaware) and she shoots the attacker in the arm. While interrogating the attacker, he reveals that there is a $20 million bounty on Spencer's head. An unidentified sniper takes shots at them, and Spencer and Jen flee. After escaping, they go to a hotel room where Spencer's old boss is staying, but find that someone has already killed him. Jen demands that they go to her dad for help, but Spencer disagrees. In the middle of their argument Jen vomits, and declares that she might be pregnant.
Heading back to his office for Jen to take a pregnancy test, Spencer is attacked by his secretary (Katheryn Winnick) and realizes that there are others who know about the contract. Jen then reveals that she is pregnant and is leaving Spencer. Left alone, Spencer is attacked by a UDE driver, who is killed by Olivia (Lisa Ann Walter), Henry's wife and another killer vying for the contract. She then attacks Spencer and is killed by an explosion, after Jen rams her car. The two discuss their possible future and return to their neighborhood, which is holding its annual block party. When they first arrive they are attacked by two assailants. They escape and head to the block party. As they walk through the block party they receive many suspicious looks from neighbors. They enter their house to retrieve guns and their passports. Spencer is grabbing the guns when he is attacked by two assassins who he eventually kills.
Meanwhile, one assassin, Kristen (Casey Wilson), one of Jen's best friends, holds Jen's mother as a hostage in a Mexican standoff with Jen. Jen's father arrives and kills Kristen. He then explains that he was the one who put out the bounty on Spencer. He knew of Spencer's previous work, and hired the neighbors and co-workers three years before in case Spencer started working for his old boss again, who Jen's father says had "gone dirty." After seeing the postcard from Holbrook in Spencer's office, he came to the conclusion that Spencer had re-accepted his old job and activated the assassins. He reveals that he had been an operative as well, and that he was actually the target Spencer was supposed to kill in Nice three years earlier.
Wanting to prove that he really did get out of the business and had no desire to kill her father, Spencer drops his gun. Jen, now convinced, turns on her father and reveals her pregnancy. Realizing that he will be a grandfather, Jen's father also puts down his gun and the family makes peace. The movie ends showing Spencer and Jen's father working on some wires near Spencer and Jen's baby's crib. Spencer and Jen then leave to let Jen's mom and dad babysit. They all leave the room and when they close the doors lasers turn on to protect the baby.