The story opens in London, in the year of 1802. The mysterious Lord Steyne (Gabriel Byrne) makes his way to a painter's studio where he has agreed to buy a painting of a young woman. The young Rebecca "Becky" Sharp (Angelica Mandy), then a girl of ten, insists on having ten guineas, instead of four guineas, as the price of the painting. The painter explains that the model in the painting is Becky's mother, the painter's late wife. Steyne agrees to pay the higher amount and leaves with the painting. The young Becky is seen moving to Miss Pinkerton's Academy for Young Ladies after her father's death.
The now-adult Becky Sharp (Reese Witherspoon) is preparing to leave the academy for a position as a governess. She travels by carriage to her new position, stopping on the way at the home of her best friend Amelia Sedley (Romola Garai) and her family. Amelia lives in a large estate as the daughter of a gentleman, though her father is not as wealthy as he appears.
At Amelia's home, Becky meets Amelia's brother Joseph "Jos" Sedley (Tony Maudsley), who's stationed in India. Jos finds that Becky is interested in India. During an outing at Vauxhall, Becky meets Amelia's inattentive boyfriend, the dashing and self-obsessed Captain George Osborne (Jonathan Rhys Meyers), and his best friend, Captain William Dobbin (Rhys Ifans), who is secretly in love with Amelia. Jos is smitten with Becky, but in a private discussion, George convinces Jos to break off his attentions to the penniless girl. George is concerned that his father, a rich businessman who's a commoner, won't let him marry Amelia if Becky has also married into the Sedley family.
Becky bids farewell to Sedley's family and enters the service of baronet Sir Pitt Crawley (Bob Hoskins), who has engaged her as a governess to his daughters. Sir Pitt has two sons, the pompous and pedantic elder son (Douglas Hodge), who also bears the name Pitt Crawley, and the dashing younger son, Captain Rawdon Crawley (James Purefoy). Sir Pitt, a rather crude individual, is impressed with Becky's service, especially as Becky cleans up Sir Pitt's home to welcome his elder half-sister, Miss Matilda Crawley (Eileen Atkins). Miss Crawley is impressed with Becky, when she finds that Becky speaks French. Becky explains that her mother was French while her father was an artist. Miss Crawley takes Becky to live with her in London. In London, Becky begins to see Captain Rawdon Crawley. Sir Pitt shows up in London. His wife has died, and he asks Becky to marry him. Becky refuses, revealing that she's already secretly married to Captain Rawdon Crawley. The misalliance so enrages Miss Crawley that she throws Becky out and refuses to see the couple. Becky and Rawdon live in an apartment in London, and Becky reveals that she's pregnant, and suggests that the baby may help to reconcile them with Miss Crawley.
Meanwhile, Amelia's prospective father-in-law, Mr. Osborne (Jim Broadbent), is trying to arrange a new marriage for his son George. He introduces George to a young woman whose father made a fortune in Jamaica. George objects to the marriage as the woman is of mixed race. He insists that he's betrothed to Amelia, but Mr. Osborne insists that George marry the woman from Jamaica.
Amelia's father, John, has become bankrupt, and all of the Sedley household goods are sold at auction. Lord Steyne shows up to buy a landscape painted by Becky's father. Dobbin buys Amelia's piano and gives it back to her, but Amelia thinks it is a gift from George. George then elopes with Amelia, and Mr. Osborne disinherits him.
While these events take place, Napoleon has escaped from Elba and is once again in control of France. Rawdon, George, and Dobbin are suddenly deployed to Belgium as part of the Duke of Wellington's army. Becky and Amelia decide to accompany their husbands.
The newly-wedded Osborne is growing tired of Amelia, and he becomes increasingly attracted to Becky. At a ball in Brussels (based on the famous Duchess of Richmond's ball on the eve of the Battle of Waterloo), George gives Becky a note which she hides in her bodice. Amelia also attends the ball, but she becomes sick as the result of pregnancy. Rather than attend to his wife, George spends the evening dancing with Becky; Dobbin attends to Amelia instead. The ball is interrupted by an announcement that Napoleon has attacked, and the officers are given three hours to report to their units.
Amelia has been deeply hurt by her husband's attentions toward Becky, but Becky reassures her that George would do nothing to hurt her. That night, Rawdon discusses his finances with Becky, giving her all the money he's won at cards. The next day, Becky tries to flee the city. One of the other Englishmen wants to buy her horse, and she agrees provided he gives her a seat in his carriage. However, when Becky sees Amelia in the fleeing mob, she leaves the carriage to take Amelia back to Brussels where they wait out the battle.
In the ensuing Battle of Waterloo, George is killed. Amelia bears him a posthumous son, who is also named George. Mr. Osborne refuses to acknowledge his grandson. So Amelia returns to live in genteel poverty with her parents. Meanwhile, since the death of George, now-Major William Dobbin, who is young George's godfather, begins to express his love for the widowed Amelia by small kindnesses toward her and her son. Amelia is too much in love with George's memory to return Dobbin's affections. Saddened, he transfers to an army post in India, to which Jos has already returned. Meanwhile, Becky also has a son, also named after his father. However, the army has been demobilized, and Rawdon, although now a colonel, has no income.
Several years pass, Miss Matilda Crawley and Sir Pitt Crawley have died, leaving the family fortune in the hands Sir Pitt the Younger. Rawdon and Becky reconcile with the family, but it does little to help their finances. Rawdon is now in debt due to his gambling, and the creditors try to seize the furniture. However, Lord Steyne comes to the rescue and pays off the creditors. Steyne offers to re-introduce Becky into London society, and she agrees. At her first outing, however, all the women ignore her until Lady Steyne takes pity on her and asks her to sing a song. Becky's singing attracts the admiration of both sexes, and she's now accepted within society.
Steyne arranges to send Becky's son, now around nine, to boarding school so he can have more time with her. Meanwhile, Amelia agrees to turn her son over to her father-in-law who can give him a luxurious upbringing. Steyne arranges a bizarre entertainment for the king at which the wives of the lords perform a belly dance, with Becky as the featured dancer. The king, entranced with Becky, asks her to sit with him at dinner.
Steyne's attentions to Becky become an issue when Rawdon is thrown into debtors' prison. Steyne tells Becky that he will arrange for Rawdon's bail, but not until the following day. He makes it clear to Becky that his price for Rawdon's freedom is for her to sleep with him. Becky refuses, but Steyne tries to force himself on her. Rawdon returns at that moment, his debts having been paid by his family. He beats Lord Steyne and throws him down the stairs. However, Rawdon refuses to believe Becky when she insists that Steyne forced his attentions on her, and he leaves her. The army offers him a post as the garrison commander on Coventry Island, which he accepts.
Twelve years later, Becky is working as a card dealer at a casino in Baden Baden in Germany. She meets the young George Osborne at a card table, who is traveling with his mother and Major William Dobbin. Dobbin tells Amelia he believes Becky killed Rawdon, but Amelia points out that Rawdon died of tropical fever.
Although Amelia is traveling with Dobbin, she still refuses to return his affections. Becky tells Amelia that she shouldn't be clinging to the memory of her late husband because George wasn't the saint she thought he was. To prove her point, Becky shows Amelia the letter that George had given her on the eve of Waterloo, inviting Becky to run away with him. Amelia realizes what a fool she's been, and leaves to re-unite with Dobbin, this time as his wife.
Jos, who has been traveling with Major William Dobbin, is still enchanted by Becky. Becky marries Jos, and he takes her to India, where she had wanted to go.