Whenever I want something "bad" I will eat a piece of fruit with some heavy cream or some coconut cream if I want something sweet. Or I'll snack on a handful of nuts. Or if I want something savoury I will eat a piece of strongly-flavoured cheese (definitely not ideal, but the strong flavour keeps the portion small and I feel it's a better option than, say, potato chips or pretzels). Seems to help me!
I must say I don't 'crave' old foods all that much if I eat plenty at meals - lots of fatty, quality meat and lots of vegetables, eggs etc. It took me a while to get my head around eating so much meat (as an ex-vegan especially!

) but when I realised that I had to replace all the grains/legumes/sugar with SOMETHING to keep my hunger at bay and my calorie count up, I pushed through and now find myself very satisfied at meals. I don't snack nearly as often as I used to, and cravings have certainly diminished.
That said, I do cheat a few times a week. I just keep the portions small and only if I
really want it.