I was watching 300 which prompted me to find some actual knowledge of the war. Shockingly, I still found that the Greek nation states were hugely outnumbered, so how did they end up winning anyways?
There are a bunch of different angles one can look at this from.
This older discussion featuring /u/Tiako and /u/Iphikrates discusses a number of theories and perspectives on the Persian failure to conquer Greece.
This answer by /u/Iphikrates discusses many of the major factors behind the Greek victory.
I think I should underscore one thing: there were two major battles that settled the invasion, Plataia and Salamis. At both of these, it is entirely possible that the Greeks outnumbered the Persians. The enormous army that you are thinking of is that of Xerxes which faced the Spartans at Thermopylai. There's no end to attempts to estimate its size, but 120,000 men is probably a decent number. After sacking Athens, Xerxes retreated back to Ionia, apparently due to the revolt in this province (logistical problems may also have been a concern).
The army that faced the Greeks at Plataia was commanded by the general Mardonios, and was apparently made up of largely by high-quality West Iranian soldiers - perhaps 30,000-40,000 men, and probably somewhat outnumbered by the Greek levies - perhaps 40.000-60,000 men. This battle was quite a slog but ended with the Greeks getting a terrain advantage that allowed them to win.
Essentially, there was no battle where some incredibly large Persian army clashed with a much smaller Greek army and lost during the invasion of Greece. The army commanded by Mardonios probably held some advantages equipment- and training-wise, but Plataia was not a massive upset or anything.
As for why the Persians did not attempt to invade Greece again, we can mostly speculate, but Greece was getting stronger, relatively speaking, and even a successful campaign would at best yield a very hard-to-control province at the very edge of their empire. It just wasn't worth it to try and subdue Greece directly. To put it into perspective, the Gangetic plains of India are closer and more easily reached than Greece from Persia.