Is there any historical accuracy in the movie “300”?
The only accuracy in the 2006 film 300 is the fact that a Spartan army, lead by their king Leonidas, fought against Persian forces at the Battle of Thermopylae in 480 BC. The film uses a large amount of artistic license to create a fantastical story of exotic beasts and deformed characters within the film in order to improve the narrative.
Even the armor of the Spartans and Persians is relatively inaccurate as it is almost certain that the Spartan soldiers would have worn full armor in battle rather than just a helmet, cape, and loincloth. It is important to remember that even within the film the story is being told through the memories of the only surviving Spartan of the battle, Aristodemus, in order to inspire his fellow troops at the battle of Platea.
In short, the film itself is highly inaccurate and makes very little effort to be, with it using the Battle of Thermopylae largely as a platform of artistic expression.