เรื่องราวเกิดขึ้นในปี 480 ก่อนคริสต์ศักราช ในช่วงสงครามกรีก-เปอร์เซีย โดยมุ่งเน้นไปที่การต่อสู้ที่สำคัญที่เรียกว่า Battle of Thermopylae ซึ่งเป็นการต่อสู้ระหว่างกองทัพเปอร์เซียนที่นำโดย King Xerxes (รับบทโดย Rodrigo Santoro) และกองทัพสปาร์ตันที่นำโดย King Leonidas (รับบทโดย Gerard Butler)
Leonidas นำทหารสปาร์ตันเพียง 300 คน (รวมถึงทหารอื่น ๆ ที่เข้าร่วม) ในการต่อต้านกองทัพเปอร์เซียนที่ใหญ่โต ซึ่งมีจุดประสงค์เพื่อปกป้องอิสรภาพของกรีซ ในขณะที่เขาต้องเผชิญหน้ากับอุปสรรคและความขัดแย้งภายใน รวมถึงการไม่เห็นด้วยจากผู้บังคับบัญชาชาวกรีกคนอื่น ๆ