After the fall of Troy, Aeneas leads the remaining Trojans as they sail near Sicily on their quest to reach Latium, an Italian region where their descendants are fated to one day found the city of Rome. Juno, who hates the Trojans because it is also fated that they will one day destroy her favored city of Carthage, wants to stop them from reaching Latium. She goes to Aeolus, the god of wind, to raise a storm to destroy them. However, Neptune notices the storm and calms it, and the Trojans land at a North African city called Carthage.
As Aeneas and his friend Achates walk through the forest toward the city, Aeneas's mother, the goddess Venus, appears in disguise and tells them the story of Dido, and how she came to be the founder and queen of Carthage. When they reach the city, Dido welcomes the Trojans and Aeneas. At the feast that night, to ensure Dido's hospitality toward her son, Venus sends down Cupid, disguised as Ascanius, to make Dido fall in love with Aeneas. At the feast, Aeneas tells the whole story of the fall of Troy and his wanderings, resulting in a long flashback.
Aeneas describes how the Greeks tricked the Trojan's with their gift of the Trojan horse, which secretly housed Greek warriors inside it. He further tells about the death of Priam, how he (Aeneas) lost his wife Creusa while fleeing the defeated city of Troy, and then about his and his followers' misadventures around the Mediterranean Sea, including encounters with the Harpies and the Cyclops, and the death of his father Anchises. Back in the present time, Dido falls madly in love with Aeneas, who only mildly returns the feeling. Juno plots to get Dido and Aeneas alone together during a trip in the forest, and then officiates a wedding for the couple, which Dido uses to justify her behavior. However, Aeneas doesn't even realize the wedding has occurred. When the god Mercury reminds Aeneas that he must go and follow his fate, Aeneas leaves Carthage with his men. Dido, devastated, commits suicide.
Unaware of Dido's death, Aeneas and the Trojans return to Anchises's burial site and play funeral games in his honor. Some of the Trojan women, encouraged by Juno and sick of traveling, try to burn the Trojan ships. Aeneas stops them in time, and leaves behind those who want to settle down.
With his strongest followers, he continues to Cumae, near Naples, where Sibyl, an oracle, guides him to the Underworld. There, he encounters Anchises's ghost and learns of the glorious city and empire his descendants will found: Rome. The Trojans continue to Latium, where they meet the king of the Latin people, Latinus, who's learned from signs that his daughter Lavinia will marry a foreigner, as opposed to the local king of the Rutulians, Turnus, who wants to marry her. The Latins and Trojans are on the verge of making peace when Juno sends down Allecto, a fury, to cause conflict. Allecto turns Queen Amata against Aeneas, then fills Turnus with rage. The fighting and first deaths begin when Ascanius (following his Allecto-enchanted hunting dogs) shoots a stag that was a beloved pet of some Latins. Turnus raises an army, and Aeneas, taking the advice of the god of the river Tiber, goes upriver to find allies. He encounters the Arcadians, who are enemies of the Rutulians and agree to help him. Evander, king of the Arcadians, sends his son Pallas to fight for Aeneas, and advises Aeneas to go get the Tuscans on his side as well.
While Aeneas is traveling, two Trojans, Nisus and Euryalus, make a brave night raid through the Latin camp, but Euryalus is captured and they both die when Nisus tries to free him. The next day, the Latins attack the Trojan fortress and Ascanius makes his first kill. Up in the heavens, Venus and Juno argue their sides to Jove, who decrees that the war's outcome should be left to fate. Aeneas returns to the battle with Tuscan troops to help him. Pallas fights Lausus, a youth his age on the Latin side and the son of the captain Mezentius. But Turnus intervenes and kills Pallas, taking his belt as a trophy. Aeneas, hearing of Pallas's death, goes on a killing spree, but Juno removes Turnus from the battle by tricking him to get on a boat. Aeneas kills Lausus and Mezentius. Aeneas plans a huge funeral for Pallas, and Evander mourns his son. Both sides agree on a twelve-day truce.
Among themselves the Latins discuss how they want to make peace, but Turnus stirs up the fighting again. Camilla, Queen of the Volscians, comes to help Turnus in his fight, but a Trojan ally named Arruns kills her. Turnus decides he must duel Aeneas directly in a fight to the death. Amata and Latinus try to convince Turnus not to, but he knows he must. Juno sends down Juturna, Turnus's sister, to help him. Juturna sees that Turnus is weaker than Aeneas and stirs up war again. Aeneas is injured but Venus heals him. Amata, seeing the Trojans attack Lavinium, believes that Turnus has died and commits suicide. Aeneas and Turnus duel, but Turnus realizes he's missing his sword, which was made by the god Vulcan. He tries desperately to find it. Meanwhile, Jove asks Juno when she'll give up fighting fate—and finally, she does. Aeneas wounds Turnus, who begs for mercy. Aeneas almost spares him, but then he sees that Turnus is wearing Pallas's belt. Aeneas kills Turnus.