the battle of thermopylae, where 300 spartans led by king leonidas, stood against hundreds of thousands of persians did happen. Howver, the 300 spartans also had the aid of tens of thousands of other greeks. And that goat pass, leonidas and xerxes both knew about it. Leonidas had stationed a thousand or so greeks there, but when they found out that xerxes was coming, they fled, which is how the persians got behind them. Also, amongst other reasons, the persians took a long time to crush the spartans because their tactics involved cavalry charging in from both sides which couldn’t happen at thermopylae.
As for immortals, they were called that because there were x number of troops, whenever one died, he was instantly replaced. Not because they were really immortal. They wore leather scale-mail as well, not that ninja-samurai rubbish in the film.
Spartans didn’t fight in speedos, they had the greaves, cloaks and helmet right, but they also had a massive bronze cuirass. Training for a spartan was as tough as the film mentioned though
Oh, also, the plan wasn’t Leonidas’, it was some greek government guy’s, and he was a naval commander, watching the spartans’ backs.
If you’re interested in spartans, watch some documentaries about them

They were possibly the toughest warriors that have ever been around