If you are restricting calories, you need to make sure you are getting enough of the essential foods that your body needs including enough protein and essential fats.
if you are not on a diet, this is going to sound counter intuitive but you need to lengthen your workouts. Longer workouts (like a >60 min run) shut down my appetite like nothing else. Scientific studies showed that long intense exercise reduced the acylated form of ghrelin by about a third (IIRC). The acylated form is what gets into the brain to signal hunger. Exercise also affects other hunger related hormones.
After a lot of trial and error, I know to avoid workouts that put me in the 700-800 calorie burn range. They leave me eating non stop anything that I can get my hands on including junk food that I normally don't touch. Workouts below 600 calories have no effect on my appetite. Once I hit 900 calories, my food intake matches my caloric needs, and I feel focused and energized. At 1200 calories, I have to force myself to eat. I don't want to even look at food. At 1400 calories, I get a full blown migraine.
I also found out that it doesn't matter what workout I do (low, medium, or high intensity) as long as I reach 900 calories on my HRM. My suggestion is to find out the magic number that your body needs. My numbers are appropriate for me and my body type.