300 is a racist movie with absolutely no historical basis, it is widely believed that the Spartans won the battle of thermopylae, but in reality, all they did was hold off the Persians for less than 3 days before every single one was killed. the Persians in the movie are played by black men, but in reality, Persians are whiter than Greeks.
the best approximation of forces
Greece: 300 Spartans + 5000 other greek soldiers
Persia: ~20,000 immortals + 2000-2500 fodder conscript soldiers.
as you can see, the Persians owned the Greeks at thermopylae, but the idiot Hollywood directors once again make the Persians look like animals.