Joel Edgerton odrzucił propozycję wystąpienia w roli głównej.
Rolę Calisto miał początkowo zagrać Jamie Blackley. Aktor wycofał się jednak przed rozpoczęciem zdjęć i został zastąpiony przez Jacka O'Connella.
Matt Smith był brany pod uwagę do roli Aesyklosa. Ostatecznie angaż otrzymał Hans Matheson.
Według początkowych zamierzeń w filmie miała pojawić się postać króla Leonidasa, jednak ostatecznie usunięto ją ze scenariusza, gdyż Gerard Butler zrezygnował z ponownego występu w filmie.
Eva Green rozpoczęła treningi (w tym szermierkę) w celu przygotowania się do swojej roli na trzy miesiące przed rozpoczęciem kręcenia zdjęć.
Rodrigo Santoro poddawał się około sześciogodzinnej charakteryzacji za każdym razem, gdy kręcono sceny z udziałem jego postaci. Z powodu wzrostu Kserksesa sceny te powstawały przeważnie w sali z "green screenem", w oderwaniu od reszty obsady.
Zack Snyder początkowo rozważał zajęcie stanowiska reżysera, jednak przeszkodziły mu w tym obowiązki związane z powstawaniem "Człowieka ze stali".
Na początku walki Greków z Persami król Dariusz zostaje ranny. W kolejnych scenach, gdy leży umierający, wyraźnie widać, że wbita strzała jest w innym miejscu, niż była na początku.
Zdjęcia do filmu kręcono w Sofii (Bułgaria), a także w Los Angeles (Kalifornia, USA).
Zdjęcia do filmu realizowano od lipca do 12 października 2012 roku.
Początkowo film miał opowiadać historię Kserksesa (granego w pierwszym filmie przez Rodrigo Santoro) i jego wypraw wojennych. Scenariusz został jednak zmieniony i twórcy filmu postanowili skupić się na historii Temistoklesa, wodza Ateńczyków granego przez Sullivana Stapletona.
Mimo iż wiele scen rozgrywa się na morzu, zdjęcia powstawały wyłącznie na lądzie. Woda została dodana komputerowo na późniejszym etapie.
Film jest zarówno prequelem jak i sequelem 300.