Quick answer
bien = adverb, "well"; describes how something is done and never changes form.
bueno = adjective, "good"; describes a noun and agrees: bueno/buena/buenos/buenas.
With estar about people, estar bien = to be fine, estar bueno = to be tasty, or attractive when said of a person.
Side by side
Memory trick
Ask what the word is attached to. Attached to a verb, it is bien. Attached to a noun, it is bueno and it has to agree.
Typical mistakes
Hablas muy bueno el español.
Hablas muy bien el español.
The word describes the verb hablar, so it needs the adverb bien. Bueno would have to describe a noun.
Estoy bueno, gracias.
Estoy bien, gracias.
Estar bueno said about a person means tasty, and in practice "good-looking". To say you are fine, you need estoy bien.
Check yourself
Fill in: "Este restaurante es muy ___ y se come ___ aquí."