London, England 1995
Eleanor Young (Michelle Yeoh) arrives at the Calthorpe Hotel with her son Nick (Nevan Koit), sister Felicity (Janice Koh), and niece Astrid (Amanda Evans). When asking at the front desk for her reservation, the clerk and the manager, Reginald Ornsby (Daniel Jenkins) lie about not having her reservation for obviously racist reasons. Eleanor calls her husband, who then calls Lord Calthorpe (Peter Carroll), who is good friends with the Young family. Calthorpe tells Ornsby that he has sold the hotel to the Youngs, leaving him looking foolish. Eleanor's first act as owner is to order Ornsby and the clerk to wipe the mud that Nick left on the floor.
New York City, 2018
Rachel Chu (Constance Wu) is giving her economics class a lesson by having her play poker with a student, whom she beats, to the impression of the others. Afterwards, Rachel joins Nick (now played by Henry Golding), her boyfriend, for a meal. Nick tells Rachel he wants to take her to his hometown in Singapore for the wedding of his best friend Colin Khoo (Chris Pang), which would be a great opportunity for Nick to introduce Rachel to his family. In the corner, two women from a blog site called Radio1Asia spot Rachel and Nick, and one of them snaps a picture of the two of them as she walks past them. This spreads at the speed of light in the Asian community until it makes its way to Eleanor, who is with her sisters, and they start discussing Rachel. She calls Nick to ask about bringing his mysterious girlfriend with him for the wedding.
Rachel is with her mom Kerry (Tan Kheng Hua), and they discuss the fact that Nick has never really talked about his family. Rachel thinks they may be poor and that he's ashamed of that.
Rachel and Nick go to the airport, where, to her surprise, they are placed in first class. Nick then reveals that his family is very wealthy and that the flight is one of their perks. He then tells Rachel about his cousins with whom he shares the fortune. Alistair Cheng (Remy Hii) is a big shot filmmaker/producer based in Taiwan who is dating his lead actress, Kitty Pong (Fiona Xie), though she is noted as being a terrible actress. Then there is Alistair's brother Eddie (Ronny Chieng), a banker who is married to Fiona (Victoria Loke) with three children, though he is obsessed with their image and is seen criticizing Fiona's dress choice because it's only good for Chinese Vogue and not American Vogue. Finally there is Astrid (now played by Gemma Chan), whom Nick describes as being a sweetheart. She is seen speaking to a little girl and complimenting her teddy bear before meeting with a jeweler to purchase earrings worth over $1 million.
The couple arrives in Singapore where they are picked up by Colin and his fiancee Araminta Lee (Sonoya Mizuno). They go around the city and indulge in local food that Rachel hasn't tried.
In Astrid's home, she is reading a bedtime story to her son Cassian (Joe Ong) before her husband Michael (Pierre Png) comes in. He married into the wealthy lifestyle, though Astrid tends to hide some of her expensive shoes and jewelry so as to not seem.
The next morning, Rachel goes to visit her old college roommate Peik Lin Goh (Awkwafina), whose family is also very wealthy, but more "new money" than Nick's family. Rachel meets Peik Lin's parents, Wye Mun (Ken Jeong) and Neena (Koh Chieng Mun), and her three siblings. When Rachel mentions that she's dating Nick Young, everyone drops what they're doing and informs Rachel just how rich the Youngs are, as they are the biggest real estate developers in the area, as well as other parts of the world. Rachel tells Peik Lin of a party the Youngs are throwing that evening at Nick's grandmother's home, and Peik Lin takes out some fresh clothes for Rachel to wear.
Rachel and Peik Lin arrive at the glamorous estate, and Nick invites Peik Lin to stay and enjoy the party. Nick brings Rachel around to meet some of his relatives, including his cousins and aunts, before taking her to meet Eleanor, and then his ah ma (grandmother), Shang Su Yi (Lisa Lu). Almost instantly, the family looks down upon Rachel for not coming from money like the rest of them. Rachel tells Eleanor how her mother is a single self-made woman working in real estate and how she is an economics professor, and that her father died before she was born. Eleanor frowns upon this, viewing ambitions as being unnecessary. Elsewhere in the party, Astrid is with Michael before he leaves the room. She looks at his phone and reads a text from another woman saying "The bed feels empty without you."
The next day, Rachel joins Araminta and her friends for her bachelorette party while Nick joins his cousins and their gaudy rich schoolmate Bernard Tai (Jimmy O. Yang) for Colin's bachelor party. The bachelor party takes place on a freight ship, which has pools and a dance floor. Eddie criticizes Nick for choosing Rachel, seeing her as merely a commoner, and noting to Colin that his own family wouldn't have accepted Araminta were she not from a wealthy family herself. Nick and Colin leave the party and head to a spot to relax themselves, where Nick reveals an engagement ring that he plans to use to propose to Rachel. Colin notes that Nick already stunned his family by not returning the year earlier to inherit their company, and to marry Rachel would mean to walk away from his inheritance.
Meanwhile, the ladies are on an island where Araminta treats them to a shopping spree and a spa day. Rachel meets one of her friends, Amanda Ling (Jing Lusi), who then reveals herself as Nick's ex-girlfriend and starts trying to subtly play with Rachel's feelings. Rachel leaves the spa when she overhears the other girls making snide comments about her. She runs into Astrid, who tries to comfort her, but they then find a dead gutted fish on Rachel's bed in her room, with "Catch this, you gold-digging bitch" written on the window in blood. Astrid helps Rachel bury the fish on the beach that night as the other women dance and drink. Astrid then confides to Rachel that Michael is having an affair.
When they reunite, Rachel tells Nick about what happened with the other women, and she is more upset that he didn't tell her about any of his past, but he felt none of it mattered. He later brings Rachel to Eleanor's house so that she can learn how to make dumplings the way Su Yi taught Nick how to do so. Rachel then notices Eleanor's ring, which she says Nick's father made to propose to her. Eleanor then makes a patronizing remark about Rachel not feeling the same way about her "old-fashioned" traditions. Later, as Rachel is trying to find her room, Eleanor clarifies that the ring her husband gave her was made only because Su Yi (his mother) did not initially approve of Eleanor for her son, and it took a while for her to come around. However, Eleanor makes it firmly clear to Rachel that she doesn't think Rachel is good enough for Nick.
Rachel has lunch with Peik Lin and says that she may skip the wedding because she worries she may cause drama among Nick's family. Peik Lin convinces her otherwise and brings Rachel back to her house to pick out a nice outfit for the wedding with the help of Nick's cousin Oliver (Nico Santos).
On the way to the wedding, Astrid confronts Michael about his affair. Michael tries to turn it around on her for making him feel inferior with her constantly buying expensive items, and he gets out of the car to leave her attending the wedding alone.
Rachel turns up at the wedding and impresses everyone with her dress, and even manages to stun Amanda when she tells her she's in her way. Eleanor and her sisters note that Princess Intan (Kris Aquino) is there, and that she requested a whole row to herself so nobody could bother her. To their surprise, Rachel approaches Intan and talks to her about how she read an article about her and that Rachel admires how she spent her wealth. Intan takes a liking to Rachel, and even Nick sees how great Rachel looks. The wedding then goes on, with Nick telling Rachel he loves her and vice versa, and Colin and Araminta are married.
During the reception, Eleanor orders Oliver to stop Alistair and Kitty from humping each other on the dance floor. Oliver cuts in and sends Alistair away before dancing with Kitty and telling her that if she married Alistair, she would have to wait because he's fourth in line to his family's fortune, while Bernard is the sole heir to his family's business. Meanwhile, Rachel and Nick are called to meet with Eleanor and Su Yi. Eleanor reveals she hired a private investigator to dig into Rachel's past, and it turns out that Rachel's biological father is still alive, but that Rachel's mother was previously married to another man before she cheated on him with Rachel's father and fled to America. Nick is furious at Eleanor, and Rachel runs away from the party, telling Eleanor she wants no part of her family. Nick tries to catch her but she's gone.
Rachel stays with Peik Lin, depressed in her bedroom. The following morning, Rachel is surprised to find Kerry showing up to the house. When Rachel brings up the matter about her father, Kerry explains that her original husband was abusive to her, and she took comfort with a school friend that later got her pregnant with Rachel. Fearing that her husband would kill them if he found out, Kerry fled to America. She also reveals that it was Nick who called her out of concern for Rachel.
Michael packs his bags to leave, but Astrid says she is instead taking Cassian with her to live in one of her other apartments. She tells Michael she can't expect him to act like a man because he isn't one. She then takes the earrings she bought earlier but hid from Michael, and she finally wears them.
Nick meets with Rachel in the city by the water. He takes out his ring and proposes to her.
Eleanor goes to a spot downtown where people are playing Mahjong after Rachel invited her. Rachel tells Eleanor that she turned down Nick's proposal because she doesn't want to be the reason that his family disowns him, but she notes that if he chose them over her, Nick might spend the rest of his life resenting Eleanor. Eleanor says "only a fool folds a winning hand." At the same time, Rachel draws a Mahjong tile which would complete her hand and win her the game. She replies that she loves Nick so much that she is willing to sacrifice her happiness for his and to remember that when Nick finds someone else in the future who Eleanor approves of and is happily married that it was her, just a daughter of an immigrant and a nobody, who made it all possible. She then throws the tile away. Eleanor picks it up and wins the Mahjong game. Rachel then shows her hand letting everyone know she just let Eleanor win and leaves with Kerry, who gives Eleanor a hard glare.
Eleanor goes home to have a personal talk with Nick.
Rachel and Kerry prepare to leave to go back to New York, but Nick shows up on the plane to try and talk to Rachel. He explains what his ideal proposal would have been, but he doesn't care about it because he loves her so much and would give up his whole fortune just to spend the rest of his life with her. Nick proposes once again on the airplane, but this time with Eleanor's ring, with all the passengers watching. Rachel says yes this time. Everyone cheers as she and Nick share a big kiss. Nick tells Rachel that he would like to stay just one more night.
Nick later surprises Rachel by throwing an engagement party on a rooftop with all of his friends and family attending with excitement. Eleanor even manages to give Rachel a sincere smile. Rachel and Nick kiss as fireworks explode across the sky.
Midway through the credits, Astrid meets a man named Charlie Wu (Harry Shum, Jr.), and there appears to be sparks between them.