In Ancient Rome, riots are in progress after stores of grain are withheld from citizens and civil liberties are reduced due to a war between Rome and neighbouring Volsci. The rioters are particularly angry at Gaius Marcius Coriolanus (Ralph Fiennes), a brilliant Roman general whom they blame for the city's problems. During a march, the rioters encounter Martius, who is openly contemptuous and does not hide his low opinion of the regular citizens. The commander of the Volscian army, Tullus Aufidius (Gerard Butler), who has fought Martius on several occasions and considers him a mortal enemy, swears that the next time they meet in battle will be the last. Martius leads a raid against the Volscian city of Corioli and during the siege, with much of Martius's unit being killed, Martius gathers reinforcements and the Romans take the city. After the battle, Martius and Aufidius meet in single combat, which results in both men being wounded but ends when Aufidius' soldiers drag him away from the fight.