A woman is released from prison and reunites with her sister. She soon discovers that her sister is in an online relationship with a man who may not be what he seems.
Danica (Tika Sumpter) is a hard-working woman hoping for a promotion at her ad agency, but her mother Lola (Whoopi Goldberg) calls to inform her that Danica’s irresponsible sister Tanya (Tiffany Haddish) is getting out of prison after five years, so Danica reluctantly allows her sister to crash with her.
Tanya finds out that Danica’s online boyfriend Charlie may be catfishing her, so she contacts the “Catfish” guys to prove it. After getting his address, Danica goes with Tanya and her best friend Kalli (Amber Riley) to find Charlie, only to see he is a guy named Lawrence who pretended to be Charlie.
Danica starts to see Frank (Omari Hardwick), a coffee shop owner who has always had a thing for her, though Danica has reservations over seeing Frank due to his history of drug addiction and crime. However, she puts it aside and they start to see each other until Charlie turns out to be real. Danica kicks Frank to the curb and goes on a date with Charlie, only to find that he is nowhere near as charming as he appeared to be. Danica tries to go back to Frank, but he won’t forgive her until she ends up going the extra mile to apologize, and he eventually forgives her.
Danica (Tika Sumpter) is a successful worker at a marketing firm, and has been in a relationship with “Charlie” (Mehcad Brooks), a man she met online a year ago but has never seen in real life.
When she is sent to go pick up her recently-paroled sister Tanya (Tiffany Haddish) from prison, her mother Lola (Whoopi Goldberg) also tells Danica that Tanya must stay at her house. Tanya is amazed by Danica’s apartment, and discovers that Danica’s ex-fiancé Bailey (Adrian Conrad) left her for another woman. Tanya thinks Danica is being catfished since she has never seen Charlie in person.
The next day, Tanya and Danica stop by the Brown Bean, a coffee shop next to Danica’s work. Frank (Omari Hardwick), the shop’s owner who also has a crush on Danica, insists that he will let Tanya work at the shop. When Danica goes to pick up Tanya from work that night she accidentally walks in an AA meeting that is being held in the store and overhears that Frank used to abuse alcohol and discovers that he was in jail for seven years.
After Tanya finds out that “Charlie” is actually a man named Lawrence (Chris Rock), Danica says negative things to Tanya which upsets Tanya so much she decides to move out and go to their mother’s house. Danica shows up to work tired and unprepared to present a campaign she had been working on and gets suspended.
Tanya, Danica, and Danica’s friend Kalli (Amber Riley) track down Lawrence, a man in a wheelchair with a Jheri curl, and assaults him for lying to Danica.
The next day, Frank stops by to cheer up Danica, and they end up talking about their past relationships, only to end up having sex. Now, feeling weirded out by what just happened, Danica calls Kalli and tells her that she just slept with Frank and claims she doesn’t find him attractive because of his criminal past, not knowing that he is still in her apartment. Now feeling guilty for hurting Frank’s feelings, Danica realizes that she does like him and wants to give him a second chance.
Three months later, Danica and Kalli find out that Charlie is real and his account got hacked by Lawrence, his old college coach. Charlie shows up to Danica’s office. Frank sees Danica leaving her job with Charlie and breaks up with her. Danica goes on an awful date with Charlie and realizes he isn’t the one for her after all, and goes to win Frank back. Frank is reluctant to let Danica in his house until she sings “On Bended Knee” in the rain, something he told her he once did, and they reunite as a couple. In an end tag, Tanya, just for the fun of it, crashes Bailey’s wedding as payback for him hurting her sister.
The film opens with Danica (Tika Sumpter) starting her day by dancing to a Janet Jackson song as she answers a quick call from Charlie (Mehcad Brooks), her boyfriend that she has met online over a year ago but has never actually met in person. She heads to her job at an ad agency where she and her best friend Kalli (Amber Riley) are set to headline a special project.
Danica and Kalli go into her office as Danica receives a phone call from her mother Lola (Whoopi Goldberg), who informs her that Danica’s sister Tanya (Tiffany Haddish) is about to leave prison after five years. The news isn’t good for either of them because of how reckless Tanya is known to be, but Danica inadvertently agrees to pick Tanya up and let her stay at her place.
Danica and Kalli arrive at the prison to pick Tanya up and find her having sex in the back of a car with a man who is visiting his wife. Tanya quickly joins her sister as they head back to the apartment. Charlie calls Danica just as Tanya comes out wearing a wedding dress Danica had bought for a previous fiance. Danica snaps and yells at Tanya to take it off, then has to explain herself to Charlie. Kalli goes to help Tanya take the dress off as she explains to Tanya that Danica’s last boyfriend, Bailey (Adrian Conrad), dumped Danica right before their wedding after meeting another woman, and Danica acts like she’s happy and even plans on going to their wedding, but Kalli knows Danica was in a really bad place, and the fact that she has never actually met Charlie in person has her concerned. Tanya suspects that Danica is getting catfished, and she plans to get to the bottom of things.
The next day, Danica takes Tanya to the coffee shop next to her job, which is run by Frank (Omari Hardwick), who always gives Danica free coffee because he has a crush on her. Danica arranges with frank to hook Tanya up with a job. He allows it and lets Tanya do an application immediately, even though she doesn’t seem to be taking things too seriously.
Danica tries her pitch at work with her team, which their boss Lauren (Missi Pyle) is on their backs about. Meanwhile, Tanya messes around at work and asks for too many demands, but Frank lets her use his computer to send an email. During work, Danica stops in, just as Bailey is there with his new fiance Amanda (Candace West). Tanya threatens violence against both of them, but Frank and Danica stop her from doing so.
After work, Tanya helps Frank set up for an AA meeting. Danica walks in and overhears Frank talking about his past life as an addict and a felon.
The people Tanya e-mailed were Nev Schulman and Max Joseph from “Catfish”. They get in touch with Tanya and meet her at Danica’s apartment to try and trace back Charlie’s number, though Tanya tries to aggressively flirt with Nev and Max. Danica and Kalli come home to find everyone there, just as Nev and Max trace back Charlie’s number and find a picture of someone who is definitely not Charlie. Danica waits for hours for Charlie to call so they can see what’s up, but Nev and Max eventually leave with their crew. Danica continues to wait all night for the call and forgets to work on her pitch for her project.
Danica goes to work and fails to deliver her pitch, so Lauren suspends her indefinitely until she sorts things out. She also tells Tanya to leave because she’s annoyed at her for interfering. Tanya tries to go to Lola’s house, but she doesn’t want Tanya staying there at all, so Lola goes to Danica’s place to cheer her up and convince her to take Tanya back. After the sisters reconcile, they resolve to go find who catfished her since Tanya got his address.
Danica, Tanya, and Kalli drive to what appears to be a trailer park. They find the man, Lawrence (Chris Rock), who recognizes Danica and admits he used an app on his phone to try an make him sound like Idris Elba, and is also in a wheelchair. The ladies leave, but not before Tanya lights Lawrence’s Jheri curl on fire, at which point Lawrence runs out of his chair and into a pool.
Frank later visits Danica, and the two spend hours talking and connecting before finally having sex. Afterwards, Danica simply asks Frank to leave. She gets on the phone with Kalli and talks about what happened, but she is hesitant to be with Frank because of his past with addiction and jail, which he happens to overhear because he can’t find his keys.
Danica goes to find Frank and apologize for how she acted, and the two eventually start an ongoing relationship, and Danica manages to win over her superiors with her pitch at work. However, things get complicated when it turns out that Charlie is, in fact, real. He shows up when Danica is back at work, and he properly explains himself for constantly being unable to see her, and the fact that Lawrence used to be a coach of his that happened to steal Charlie’s identity. Although taken back, Danica agrees to meet with Charlie for lunch. Just as they are doing so, Frank is getting ready to bring Danica flowers, but he sees her and Charlie walking together. Frank calls her phone, but he overhears her tell Charlie that Frank is just someone she knows. He confronts her and tells her to fuck off.
Danica goes out on a date with Charlie that night. To her dismay, Charlie turns out to be full of himself and generally unappealing. Danica gets drunk enough to consider hooking up, so they go back to Charlie’s place to hook up, but he merely dry humps her until he climaxes. He calls her an Uber (well, an Uber Pool) to send her home.
Danica returns home to find Tanya angrily confronting her over hurting Frank’s feelings and claiming to have slept with Frank. When he shows up to pick up his things, Danica questions Frank about sleeping with Tanya, which she admits was a lie. He tells Danica off for breaking his heart since he loved her, and he tells her he doesn’t want to see her again.
Lola meets with her daughters and admits that several things she told them about their father wasn’t true because she doesn’t even know who he really was. This makes Danica think over her preconceived ideas over what her ideal man should be, and so she heads out to find Frank. She gives him a heartfelt apology, but he continues to ignore her. Danica then goes to her car to blast a romantic R&B song on the radio, but Frank still won’t come out. It then starts to rain hard, and Frank notices that Danica is still there. He runs outside to embrace her as he forgives her.
Before the credits roll, Tanya decides to crash Bailey and Amanda’s wedding to trash them both for doing Danica wrong before Tanya leaps onto both of them.