The proper use of the words bien (well) and bueno (good) seems to be specially challenging for English speakers. From a grammatical point of view the difference between these words is quite simple: bueno (good) is an adjective, and bien (well) an adverb. But that doesn’t help much, does it? Especially if you don't have a clear understanding of the function of adjectives and adverbs themselves. And even if you do, people who are really fluent don't usually go around wondering if a word is an adverb or an adjective in order to use it properly.
Is not that grammar isn't helpful, it's just that very often people try to use it as a rigid template that you can superimpose on any given portion of speech to determine its correctness. But trying to grammatically deconstruct a sentence in Spanish, or any language, can be a tricky and confusing exercise, one more suited to linguists than to language learners. Indeed, from a learner's perspective, grammar is more useful if you learn to see it as a set of very basic structures (think of Legos), that you learn how to combine and then use to build basic structures that may eventually be used to build more complex structures and so on. Imagine a foreign language is some kind of alien technology that you want to replicate and master. Would you prefer if you are given the blue print and some of its basic components, or would you rather try to do reverse engineering on it?
For example, "adjectives modify nouns and only nouns" is a much simpler grammar "Lego piece" than "adverbs modify verbs, adjectives and other adverbs." Right? So maybe we can start with that. The word bueno(good) is an adjective, like bonito (pretty), flaco (skinny), and malo (bad). Add another basic Lego piece such as "in Spanish, adjectives must agree in gender and number with the nouns they modify," and you can build:
El perro bonito /The pretty dog and Los perros bonitos /The pretty dogs
El gato flaco / The skinny cat and Los gatos flacos / The skinny cats
El lobo malo / The bad wolf and Los lobos malos / The bad wolves
La niña buena / The good girl and Las niñas buenas / The good girls
A classic example of the proper use of bueno is the expression buenos días:
¡Hola, buenos días! -Joaquín.
Hi, good morning! -Joaquín.
Caption 7, 75 minutos - Del campo a la mesa - Part 16Play Caption
Now, what about bien (well)? Bien is an adverb, like rápidamente (fast) or mal (badly). Adverbs in Spanish are invariable, which means they have only one form and do not change according to gender or number. The main function of adverbs is to modify verbs:
Yo corro rápidamente /I ran fast
Ella baila mal / She dances badly
Yo lo hago bien / I do it well
Adverbs also modify other adverbs:
Yo corro bastante rápidamente / I ran quite fast
Ella baila muy mal / She dances very badly
Yo lo hago bien temprano / I do it very early (yes, bien can also mean "very")
Adverbs also modify adjectives:
El perro muy bonito /The very pretty dog
El gato bastante flaco / The quite skinny cat
El lobo terriblemente malo / The terribly bad wolf
La niña tan buena / The so very good girl
So, if the adjective bueno can only be used to modify a noun, and bien can only be used to modify a verb, an adjective or another adverb, how can Spanish speakers say things like La sopa está buena (the soup is good) or Yo soy bueno (I'm good) all the time? Aren't estar and ser verbs? They are, but here we have to step up our game and remember that these two verbs are very special in Spanish—they are special Lego pieces with special rules.
You use the verb ser with an adjective to describe something or someone by stating their characteristics as essential qualities that are an intrinsic part of who they are. In a way, you could say that this use of the verb ser +an adjective is redundant because, whether you use ser or not, you are essentially expressing the same thing about the object or person (noun) you are talking about. Another way to put it is that when you use the verb ser (to be) with an adjective you are just talking about a characteristic as if it were an action, in a verbal form. Compare our first set of examples:
El perro bonito / The pretty dog = El perro es bonito /The dog is pretty
El gato flaco / The skinny cat = El gato es flaco / The cat is skinny
El lobo malo / The bad wolf = El lobo es malo / The wolf is bad
Las niñas buenas / The good girls = Las niñas son buenas / The girls are good
But if you use the verb estar (to be) with an adjective you are not talking about a characteristic as if it were an essential trait, you are talking about a characteristic of someone or something but not seeing it as intrinsically related to that someone or something. It may be a trait only present for the moment, for example. English doesn't usually makes this subtle distinction, so we have added some extra information to the translations so you can better grasp the difference of using estar instead or ser:
El perro es bonito / The dog is pretty ≠ El perro está bonito / The dog is pretty (right now but maybe not tomorrow).
El gato es flaco / The cat is skinny ≠ El gato está flaco / The cat is skinny (today, but it could get fat if we feed him).
Now, since estar is not used to express an intrinsic quality, the following examples using estar can't be referring to moral or spiritual qualities (intrinsic by nature) such as being good or being bad, so malo (bad) and bueno (good) here can only refer to something different:
El lobo es malo / The wolf is bad ≠ El lobo está malo / The wolf is sick (or tastes badly).
Las niñas son buenas / The girls are good ≠ Las niñas están buenas / The girls are tasty (Something the Big Bad Wolf could say, for example (think buenas = sabrosas = tasty). As "tasty" in English buenas can also mean "good looking," which is a rather vulgar expression, by the way).
That covers the use of ser and estar plus an adjective like bueno (good). Let's see what happens if you combine these verbs with an adverb, like bien (well). The first good news is that you never use the verb ser with and adverb. So you can never user bien (well) with the verb ser. Never. The following are all incorrect expressions:
Yo soy bien
Nosotros somos tan bien
El carro es bien
You must use instead an adjective combined with the verb ser if you want to talk about ethical or intrinsic qualities:
Yo soy bueno / I am good
Nosotros somos tan buenos / We are so good
El carro es bueno / The car is good (maybe it's a good brand, or a good model, or just a good one for some other reason)
If you want to talk about non-essential, non-intrinsic, non-ethical qualities, you need to use an adjective combined with the verb estar:
Yo estoy bueno / I am tasty (If a good meal could talk, it could say something like that. The expression can also mean " I'm good looking" by extension, see above).
Nosotros estamos tan buenos / We are so tasty (or "good looking," see above).
El carro está bueno / The car is in good condition.
Or, finally, an adverb with the verb estar:
Yo estoy bien / I am well
Nosotros estamos tan bien / We are so well
El carro está bien / The car is Ok (is doing well)