L’ambizioso re di Persia Serse (Rodrigo Santoro) con il suo immenso e devastante esercito si sta approssimando a Sparta, pronto a soggiogare anche la famosa città di guerrieri, ma il valoroso Re Leonida (Gerard Butler) non accetta il il patto di resa e dopo aver ucciso i messaggeri di Serse decide, contro la volontà dei corrotti oracoli e del consiglio, di lanciarsi in una disperata difesa della città e della Grecia intera asserragliandosi con i suoi uomini presso le Termopili.
Così Leonida capeggiando trecento irriducibili e valorosi soldati spartani affronterà l’immenso esercito di Serse, accumulando cadaveri nemici e impregnando la terra del sangue dei suoi uomini, uomini che non si arrenderanno neppure quando decimati decideranno di seguire il loro re nel sacrificio ultimo, in quella che sarà la battaglia che tutto il mondo ricorderà come leggenda.