as mentioned earlier the spartans didn't fight alone, about 5000 greeks held the pass at thermopylae for 3 days, then the greeks were betrayed and some persians were led by a secret pass. The phocians who were supposed to be guarding that pass were really stupid and let them by. (They retreated to defend themselves, but the persians ignored them and went to continue down the pass to the rear of the greek line.) The greeks caught word of this and then leonidas sent the rest of the greeks home. and kept the spartans there. and also the boeotians who lived in the immediate area. (they ended up surrendering). the spartans alone held the pass for only a few hours I believe. but it was enough time to allow the rest of the army to retreat to safety. also, the revised estimates that historians make is about 500,000 persian soldiers.
at the same time a naval battle was being fought at Artemisium. This battle ended in a draw. The persian navy was also made up of about 500,000 troops, and if the naval battle had failed, the persians could have landed behind the greeks and surrounded them.
The greek's land forces retreated to the Pelopponessus and were building a wall at the isthmus of Corinth to hold there. The Greek's naval forces retreated to the island of Salamus which was part of the same strategy of holding the penninsula. At that naval battle the greek forces triumphed, which caused the persian army to retreat for the winter. They holed up in Thebes. The athenian general Demosthenes (I think) sent an emmisary to Xerxes saying that they were planning on running that night, which caused the persian troops to stay awake all night on patrol while the greeks rested, in the morning the battle was fought in the narrow strait which allowed the greeks to basically turn the battle into a land battle, which they were able to win.
The next spring the combined forces of the athenians and spartans defeated the persian army at the battle of Platea. The persians also had the thebans on their side. that battle was basically lost by one of the persian generals Artabazus. the athenians were basically fighting the thebans into a stalemate. the spartans fought the persians, but they held up until they got a good omen from the sacrifices they were making, then they attacked and soundly defeated the left flank of the persian army. The center however retreated at the command of artabazus when he could have flanked the spartans and won the battle. after this the greeks were never again threatend seriously on greek soil by the persians
-I minored in classical civilizations and took a course on warfare in antiquity, I can draw a map sketch of this and a quite a few other battles. the pass at thermopylae was only about 20 yards wide in antiquity