The film begins with a shot of the Golden Gate Bridge, as Chun-Li (Kristin Kreuk) does a voiceover about her childhood. We see the young Chun-Li (Inez Yan) playing the piano, while her father Xiang (Edmund Chen) encourages her. Adult Chun-Li talks about how all parents have dreams for their children, and that her father's was for her to be a concert pianist.

Chun-Li and her family move to Hong Kong, and she reflects on how she knew her father did important work, but never really knew what it was. One day, she sneaks up on her father practicing martial arts in the yard, and he offers to teach her Wu-Shu, which then becomes a passion of hers. Through a montage, we see her age (now played by Katherine Pemberton) and become a skilled fighter.

One night, her father returns home from work and is ambushed by Balrog (Michael Clarke Duncan) and some goons. He does a decent job of fighting them off, until Chun-Li comes downstairs, and Bison (Neal McDonough) arrives. In exchange for the safety of his family, Xiang agrees to go with Bison, and the audience is left to assume he is killed.

Skipping forward again, Chun-Li is now an adult, and an accomplished pianist, having studied at Juilliard. After a concert, she receives a mysterious scroll, but temporarily ignores it to return to Hong Kong and visit her mother, Jeanne (Emilze Junqueira), who is dying of illness.

Meanwhile, Bison has moved to Bangkok, where he grew up in the slums, and hosts the criminal bosses of the city for dinner. He calmly announces that he is taking over Shadaloo, the criminal enterprise, and suggests the bosses recognize his authority to make things easier. The bosses are offended, and storm out angrily, where Vega (Taboo from the Black Eyed Peas) is waiting to kill them. Bison eats his dinner and shows no emotion, hearing the sound of the bosses being killed. The next day, the heads of all the crime bosses are found, arranged on a dinner table, by a Thai police squad led by Det. Maya Sunee (Moon Bloodgood), who is met by Interpol agent Charlie Nash (Chris Klein). Charlie flirts with Maya, and then tells her she's inherited a huge problem (Bison), whom he's been tracking but has never been able to catch.

Chun-Li's mother dies, and after the funeral she goes back to the mysterious scroll, taking it to a woman who can translate the ancient Chinese it is written in. The woman tells her that she needs to seek out Gen (Robin Shou), former criminal who now defends the poor and defenseless. The emblem of Gen's organization is the spider and its web. In order to find Gen, Chun-Li needs to go to Bangkok and live like the poor people who live in the slums.

Now in control of all the crime in Bangkok, Bison arranges to have the children of the leading politicians in the city kidnapped. Bison explains to Balrog that every man has a weakness: his family. His representative, Cantana (Josie Ho) collects signatures from the city council authorizing Bison's plans to raze the slums and then build expensive properties on them. Xiang is revealed to still be alive and imprisoned by Bison, reluctantly helping him in exchange for his family's safety. Bison has been spying on Chun-Li, and taking photos and videos of her to show to Xiang. Balrog comes to Bison and tells him that Chun-Li has gone off their radar, and might be in Bangkok, but assures Bison that they'll get her. Balrog also informs Bison that "White Rose" has been found and is on its way to him. Meanwhile, Charlie and Maya realize that a security company that has been getting business in Bangkok is actually a front for Shadaloo.

After a stint living in poverty in the Bangkok slums, Chun-Li becomes disgusted by the level of crime surrounding her. One night, she confronts a group of thugs who are harassing an elderly man, fighting them and winning. After this fight, Gen finally reveals himself to her, and says that he will help her find her father and get to Bison. Gen challenges Chun-Li to a fight, and gets the upper hand, telling her that she needs to stop letting anger control her. In a montage, we see Gen subjecting Chun-Li to training that includes being blindfolded and using her hearing to catch balls thrown at her, and being trained to create an energy ball (fans of the video game will know this as a Hadouken) and throw it. Gen tells Chun-Li about his past involvement with Bison and Shadaloo, and how Bison was the orphaned child of Irish missionaries, who grew up in the Bangkok slums. As an adult, Bison used a form of dark magic to transfer his conscience to his infant daughter, and thus make himself a more ruthless person. Gen also tells Chun-Li that her father was a powerful and connected businessman, which is why Bison went after him.

Charlie and Maya stake out a club that Cantana frequents, watching her go in. Inside, Cantana exchanges tense glances and dance moves with Chun-Li, whom she then follows to the bathroom and locks. Cantana is attacked by Chun-Li, who demands information, which Cantana eventually gives up. There's a shipment called the "White Rose" coming in soon, and it's very important to Bison. Hearing gunshots inside the club, Charlie and Maya enter, and chase Chun-Li through a strip area, where she does her famous "helicopter kick" move to thwart some goons. Chun-Li escapes in the alley.

Bison is in a gym with Balrog, who is beating a punching bag. Bison mentions that Cantana was good, and he'll miss her, and the camera reveals that Bison has actually been punching her corpse, and not a bag. Bison then decides to send Vega after Chun-Li. Vega attacks Chun-Li on the slum rooftops, but she kicks of his claw and mask (mocking his face), and ends the short battle by tying him up by his feet and hanging him off a building.

Chun-Li, reunited with Gen, goes out to get some groceries. While Gen is alone, Bison's goons attack him. Gen defeats them, but Balrog fires a rocket at his rooftop domain, leaving behind only flames and his spider necklace for Chun-Li to find. Now furious, Chun-Li coerces a shipping attendant into giving her information about the arrival of the White Rose. She shows up at the dock to intercept it, but is instead ambushed by Bison and his goons, who take her hostage.

While captured by Bison, Chun-Li is tied up and put in a room with her father, who tearfully reunites with her and explains that he helped Bison for her safety. Bison tells Xiang that he's fulfilled his promise to let him say goodbye, and then snaps his neck in front of Chun-Li, leaving her to be killed by two of his goons. Chun-Li manages to escape her bonds with some impressive moves, and escapes Bison's holding house, though she's hurt. Gen, revealed to have survived the blast, takes her in again and heals her wounds. Chun-Li again attacks the shipping attendant, who pleads that Bison made him lie to her. This time he tells her the truth about when the White Rose will be arriving, and she shares the information with Charlie and Maya.

The night of the arrival of the White Rose, Charlie and Maya have set up SWAT teams to capture Bison, and Chun-Li and Gen are prepared to fight him. Charlie and Maya's team is caught off guard by Bison, who had been expecting them and planted a bomb in their location. They manage to get out in time for the blast, and go after Bison. After boarding the boat carrying the White Rose, Chun-Li runs past a scared Russian girl (Elizavetaa Kiryukhina) and looks for the shipment. Gen, meanwhile, fights with Balrog in an engine room. While Balrog is stronger, Gen is more agile and uses his surroundings to get the upper hand, eventually killing Balrog with a steam vent.

It suddenly dawns on Chun-Li that the White Rose is, in fact, Bison's daughter, Rose (his one weakness), and that she's the Russian girl from the boat. Bison has Rose in his compound, and he assures her that she'll be safe now, threatening the guard at her door that if anything happens to her, he'll be killed first. Charlie manages to infiltrate Bison's compound and get Rose, while Bison and Gen are fighting. Bison slams Gen through furniture and walls, and then leaves him to die.

Outside of his compound, Bison is chasing after Charlie and Rose, when Gen again attacks him. Bison again defeats Gen, impaling his thigh on a spike, when Chun-Li attacks him. Chun-Li and Bison fight, and it's clear that Bison is a stronger and better fighter. Bison taunts Chun-Li, but is then blinded by a bag of gunpowder that she causes to fall on him. While he's blinded, Chun-Li focuses her energy and hits him with a Hadouken, which knocks him down, his head over the edge of the roof. Chun-Li repeats her line about every man having a weakness, and then snaps Bison's neck with her feet. Chun-Li asks Charlie to make sure that Rose gets a chance at a good life, and then disappears, as Charlie greets the arriving enforcements.

In the epilogue, we see Charlie and Maya talking about what happens next. Maya returns Charlie's flirting, and jokingly tells him not to call her next time he gets bored.

Chun-Li is back at her parents' house in Hong Kong, and approaches her piano again, when Gen suddenly shows up (yeah, still alive). He asks her if she's interested in entering a tournament, and hands her a flyer for "Street Fighter," but she declines. Gen also mentions a new fighter in Japan who is supposed to be really talented - his name is Ryu (the main character of the Street Fighter games).