Make liberal use of vegetables throughout the day. Vegetables provide fiber, which not only helps with digestion, but also increases your metabolism and provides a feeling of fullness. I eat as much as 1 bag in some of the later meals of the day.
Drink plenty of water throughout the day. Water not only provides a feeling of being full, but at times, cravings are caused by slight dehydration. So keep the water intake steady.
If you crave some chocolate, prepare a chocolate protein pudding. This is an awesome way to have something sweet and not break your diet. Try doing 1 scoop of a good chocolate flavored protein powder with 2 tsp of flax oil mixed in 4 ounces of water. This will make a nice and thick pudding that will take care of the craving. As soon as you are done, chase it with 8-10 ounces of water and after 10 minutes you will notice that you are full.
Eat as much real food as possible. Protein shakes are super convenient but they do not provide the fullness that real food does. I have a much easier time handling cravings when I eat real food all day long than when I include protein shakes. As a bonus, real food increases your metabolism more than a protein drink as the body has to work harder to digest it.
Stay away from high fructose corn syrup. Certainly stay away from sauces that have high fructose corn syrup (like ketchup for instance). High fructose corn syrup neutralizes the enzyme that indicates to your brain that you are full. Therefore, it contributes to all sorts of cravings and you will have an artificially high appetite all day long.