NOTE: This spoiler was submitted by Jeremy.
Sandy Patterson (Jason Bateman) is sitting in his office when he gets a call from a woman saying someone attempted to steal his identity. She tells him about an identity protection service and asks him for his name, number, and social security number. Little does he know that his identity is actually about to be stolen.
We meet Diana (Melissa McCarthy), printing out credit cards with Sandy's money and going out to a bar, buying drinks for everybody. She gets really hammered and tries to swing on the chandelier when the bartender tells her to stop. She says she's doing it for her friends, but he tells her that they only like her because she's buying them drinks and that people like her don't have friends. Diana responds by punching him in the throat and then later getting arrested.
Back home, Sandy is celebrating his birthday with his wife Trish (Amanda Peet) and their two daughters. After the party, he goes over his finances and sees they only saved about 14 bucks. Trish asks about the bonuses at work, and he says they're not getting anything. This makes it harder since they have a third kid on the way.
At work, Sandy gets called in by his boss, Harold Cornish (Jon Favreau), and he asks him to make cuts on bonuses, despite the fact that he is getting a big fat bonus himself. As Sandy goes to do so, he gets a call saying he has an appointment at a salon on Friday in Florida. He's confused, but he gets called over by his co-worker Daniel Casey (John Cho). In the parking lot, he and a few other co-workers meet to discuss starting their own firm since their boss is such a dick. Daniel asks Sandy if he'll join them, to which he agrees.
A little while later, Sandy tries to get gas, but his card is declined for insufficient funds and the gas station clerk cuts it. He calls the credit card company and he's told he's spent a lot of money in Florida. As this happens, he gets arrested. At the same time in Florida, Diana continues splurging with Sandy's money.
At the station, Detective Reilly (Morris Chestnut) tells Sandy that he missed a court date in Florida for assault. They pull up a mug shot of Diana and determine she's stolen Sandy's identity. It gets worse at work when Daniel (now his boss) says cops are asking about him possessing drugs. Reilly and other cops show up and say a card with Sandy's name was used to buy drugs from a man named Paolo. When told they can't do anything unless the identity thief was standing there in Denver with them, Sandy, knowing where he can find her, offers to go on his own and bring her there and get her to talk to Daniel to clear his name and that he won't press charges.
Trish finds out about the situation and knows Sandy's taking a risk, but he assures her he'll get the job done. He ends up in Florida and finds Diana at the salon where she made an appointment and follows her. She notices he's following her and slows down so he rear-ends her. When he confronts her, she throat-punches him and steals his car. However, through the registration papers in the glove compartment, he finds her address.
Sandy takes a cab to Diana's house, which is full of merchandise. He attempts to handcuff her, and they get into a fight, in which he eventually knocks her out by whacking her with a guitar. Before he can cuff her, two people, Marisol (Genesis Rodriguez) and Julian (T.I.) are pounding at the door, telling Diana she gave Paolo some bad credit cards. They shoot the door open, but Sandy and Diana are out, but Sandy doesn't forget to cuff himself to Diana.
Diana manages to uncuff herself on the ride out and tries to run away on the parkway. Sandy chases after her and explains her whole situation and promises nobody will shoot at her, and he won't press charges. She reluctantly agrees to go in.
Elsewhere, a guy named Skiptracer (Robert Patrick) gets a call about Diana. He goes to the hair salon and asks an employee where he can find her. When she refuses to tell, he drops some hair tonic on the floor and threatens to set the place on fire before she tells him where the contact information is.
On the road, Diana reminds Sandy that the people at the airport would have an issue with both of their ID's reading "Sandy Bigelow Patterson", so flying back is out of the question. They eventually stop in Georgia to eat and rest. Diana makes it difficult for Sandy when he tells her to order a small meal to save money, but she gains sympathy from the waitress (Ellie Kemper) when she makes up a story that Sandy's her husband and is abusive toward her because his dick got shot off. When they get a room, he openly insults her in front of the clerk, which appears to offend her.
Diana goes to the nearby bar and meets Big Chuck (Eric Stonestreet). After a few drinks, she brings him back to the hotel room for sex. Sandy locks himself in the bathroom as Diana and Chuck engage in rough sex. After he knocks out, Diana attempts to make a run for it by swiping his and Sandy's money and phone after trapping Sandy in the bathroom with Chuck's belt. When she gets to the car, however, Sandy's phone rings. She answers to hear his daughter's voice, and she breaks down in tears. She goes back to the room and pretends like nothing happened.
The next morning, as Sandy is checking out, Diana is captured by Skiptracer. A chase ensues and she knocks him unconscious, and Sandy rams his van off the road. When he gets out to check on Diana, a truck plows into his rental car, totaling it. They take Skiptracer's van with him tied to the back, but it overheats on the road. They end up walking and almost stop to rest in the woods, but they encounter a snake in Sandy's pants, which he takes off and throws away. The snake bites Sandy's neck and Diana accidentally knocks him unconscious while trying to beat the snake.
Marisol and Julian find Chuck, who is apparently trying to sell them something, but Marisol reveals she and Julian know he had a fling with Diana, and they threaten him for information. They get further when they find the totaled car and hear from another man that Sandy and Diana are going a certain route.
Sandy wakes up at a bus station in new pants with no money and no phone. He asks how they got there, and Diana says she carried him half a mile until she flagged down a truck to take them there. Unfortunately, the next bus to Denver doesn't come for another three days. Sandy finds some money in his socks and is told by a guy who works at the station about a place to find a cheap car. When they stop for gas and realize they need more money, Diana asks if there's anyone Sandy would like to "shit on", and he thinks of one person - Harold Cornish.
Knowing that there is someone who handles his finances, the two of them sneak into an accounting firm and coax an accounts processor into giving them access into restricted files, and they effectively steal Cornish's money. The employee realizes this too late as they are fleeing.
Meanwhile, Skiptracer goes to the bus station and threatens the employee unless he tells him where to find Diana. He then gets shot by Marisol, who overheard the conversation, and tells Skiptracer that Diana is worth more to her and Julian than she is to Skiptracer.
Sandy and Diana finally arrive in Colorado and stop at a hotel, and Diana spends more money than necessary. She gets a makeover and cleans up nicely, and she has dinner with Sandy. Things get heated when he asks Diana what her real name is, but she admits she doesn't know it. She cries as she tells him that nobody gave a shit about her when she grew up, so she doesn't even have her own identity. She then says she lied about that (or did she?) just as the accounts processor comes in with some cops, who arrest both Sandy and Diana. As they're being escorted, they run into Marisol and Julian. Marisol calls Paolo, who tells her to follow Diana and kill her. That's when Skiptracer arrives and shoots the two goons in the legs and throws them in the trunk of their car.
Diana manages to uncuff herself again as she's in the back of the police car, and then breaks the back windshield and escapes, just as Skiptracer hits the police car. Sandy gets out as well and Skiptracer nearly hits him, but Diana pushes him out of the way and gets rammed by the car, which causes Skiptracer to swerve off. As Sandy and Diana run away, Skiptracer is arrested. They open the trunk and arrest Marisol and Julian, as well.
Diana is somehow okay from being hit by a car, and she and Sandy eventually make it home, where they are greeted by Trish and their daughters. Diana has dinner with the family and manages to entertain the girls. Before they go to bed, she awkwardly tries to reassure Trish that nothing sexual happened between her and Sandy. In bed, Sandy tells Trish that he knows Diana isn't a bad person despite what she's done.
The next morning, Sandy is prepared to tell Diana that he'll go in alone to the station, but she's gone. She left a note saying sorry. He goes into work, preparing to quit, but Daniel shows him that Diana is meeting with the police in an office. Detective Reilly tells Sandy he is no longer part of the investigation and Diana is taken away in cuffs. Before she leaves, Sandy has a moment with her and asks her why, and she says she knew he wouldn't turn her in, but it was the right thing to do for her to do it herself.
One year later, Sandy is celebrating another birthday, this time with his third kid joining them. The family goes to visit Diana in prison, where she's doing well taking some exams. As Trish takes the girls outside, Sandy presents Diana with a birth certificate of hers that he was able to find, and it's revealed that Diana's true name is Dawn Budgie, which she thinks is a "terrible fucking name". They laugh and Diana prepares to go back in. However, when one guard calls her a bitch, she throat-punches her, which gets her tased in the back. She gets up, though, and Sandy walks away, knowing Diana's gonna be just fine.