General Synonyms:
* Deter
* Dissuade
* Dampen
* Stifle
* Inhibit
* Suppress
* Thwart
* Undermine
* Quash
* Crush
More specific synonyms:
* For someone's spirit: Demoralize, disheartened, disillusion
* For an activity or plan: Obstruct, hinder, impede, frustrate
* For a feeling: Dishearten, dampen, extinguish
* For a person: Discredit, belittle, humiliate
The best synonym to use depends on the specific situation and the intended meaning.