Lorsque bon est un adjectif et bien un adverbe:
On emploie bon avec des noms communs (une bonne amie, un bon dessert…)
On emploie bien avec des verbes (je me sens bien, j’ai bien travaillé…) ou avec des adjectifs dans le sens de « très », « vraiment » (il est bien fatigué, cette maison est bien belle…)
Lorsque bon a une valeur d’adverbe:
On emploie bon après certains verbes (sentir bon, faire bon).
Lorsque bon et bien sont tous deux des adjectifs employés avec le verbe être:
On emploie bon pour parler de manière concrète, pour faire un jugement sensoriel (nourriture, température…)
On emploie bien pour parler de manière plus abstraite, pour faire un jugement moral ou intellectuel (un homme bien…) ou bien avec la tournure c’est bien de + infinitif.