To put it simply: there are two ways to say good night in Italian. It depends on if you want to wish someone a good night, or if you are truly saying “good night” before going to bed.
Buona notte: This is the literal translation of “good night” in Italian. Buona = good, notte = night. This is what you would say only when you are truly off to bed. It is the way you say good night in your own home before slipping off to sleep.
Buona sera: This is how you say “good evening” in Italian. Even though it does not technically mean good night, this is the much more common way to say goodbye to people at nighttime. For example, if you are leaving your office at the end of the day or exiting a restaurant after dinner, you would say “buona sera” in Italian. It would be awkward to wish someone a buona notte in this type of context.
Buona notte e sogni d’oro: If you really want to wish someone a wonderful sleep in Italian, you can say “buona notte e sogni d’oro.” Sogni d’oro is a poetic sounding way to wish someone sweet dreams. It literally means “golden dreams,” and we could all use more of those.
And now you know every way to wish someone a good night in Italian!