Quick answer
¡Feliz cumpleaños!
the everyday version
¡Felicidades!
the alternative — see below for when
Which one to use
¡Feliz cumpleaños! is the standard birthday wish and never changes form, whoever you say it to.
¡Felicidades! is broader: it works for a birthday, a wedding, a new job or an exam passed. In Spain ¡enhorabuena! is reserved for achievements rather than birthdays.
All the versions
Where you are matters
The greeting is universal; in Mexico the birthday song is <b>Las mañanitas</b> rather than the English tune.
Check yourself
Which one is used for a birthday and also for a wedding?