Grocery shop with cash.
It sounds strange, but take an envelope of cash with you on your next shopping trip, and mentally commit to only spending that amount on food. Besides helping you save money, paying with cash might keep junk food out of your cart. Junk food is often an impulse buy (hello, holiday theme Oreos), and paying with credit or debit cards lowers your impulse control. Paying with cash forces you to think about what you’re buying, so if you’ve been known to toss a bag of Doritos into your basket seemingly against your own will, leave the plastic at home, folks.