Why is my dog not eating their food but will eat treats?

Learn about dogs
Written by Dr Andrew Miller MRCVSDr Andrew Miller MRCVS is an expert veterinary working in the field for over 10 years after graduating from Bristol University. Andy fact checks and writes for Pure Pet Food while also working as a full time veterinarian. Pure Pet FoodPure Pet Food are the experts in healthy dog food and healthy dogs featured in media outlets such as BBC, Good Housekeeping and The Telegraph. Working with high profile veterinary professionals and nutritionists, Pure Pet Food are changing dog food for the better. - Our editorial process

Every pet parent loves to give their beloved furry friend a few treats when they deserve it, or even just because their pooch is looking super cute.

Although this is all well and good, treats should be literally just that, a treat. Your dog will never feel happy and healthy if they’re surviving on treats alone, they need healthy, wholesome, balanced dinners to ensure they thrive.

But what happens if your dog is downright refusing to eat their dinners but will happily gobble up all those treats or your table scraps? Well, there are many reasons why your dog might be doing this, but overall, it’s definitely a sign that something is amiss so it’s important to try and figure out what’s wrong.

We’re here to help you figure out exactly what the issue is and how you can get your pup loving their food again and licking their bowl clean.

Discover delicious food your dog deserves

Learn more

Why won’t my dog eat his food but will eat treats?

A dog that just won’t eat their meals can be a real stress for pet parents, after all, you want your dog to love their food!

If your pooch isn’t eating their dinners but will still scoff down a treat or even your leftover Sunday roast, it’s referred to as partial anorexia. This means that your dog isn’t refusing all kinds of food, but they’re definitely not eating enough to keep them healthy. So, let’s delve right into why your pooch might be sticking their snout up to their meals.

Feeling under the weather

If this strange refusal of food has cropped up out of nowhere, it’s a possibility that your dog could be feeling under the weather. When we’re feeling poorly, especially when we’re feeling nauseous, we often lose our appetite, and this could be exactly what’s happening to your pooch if they normally had no issues with eating their dinners. A few treats might be all that they can stomach to sustain them throughout the day.

Hopefully, their dicky tum should settle down in a few days and they’ll be right back to scoffing everything in sight, however, if it lasts more than a few days and you’re seeing other strange symptoms (vomiting, diarrhoea, fatigue) then it’s best to consult your vet to try and get to the root of the problem.

Emotional and behavioural problems

Your dog’s emotions can actually play a huge role when it comes to their dinnertime habits (well, maybe not if you’ve got a greedy pooch who will eat anything and everything in sight!). However, other dogs may decide to not eat their meals if they’re feeling anxious, stressed or fearful, but they might still be able to manage a tasty little treat.

This strong emotional response could be triggered by various things, for example new pets or people in the house, a change in routine, loud noises like fireworks and simply even having a new food bowl. Hopefully, they’ll continue eating their food once the trigger has gone or once they’ve finally gotten used to whatever was bothering them.

If there’s two pets in the household it’s possible that one of them is being a bit of a greedy guts and trying to snaffle both dinners. They might be using resource guarding to intimidate your other dog away from their food, resulting in them being left with none. This means that your other pup only manages to get treats throughout the day that they get directly from you.

The food is spoiled

If you own a Lab, they’ll happily eat whatever is in their food bowl, with no care in the world for if it’s old, stale, smelly and even mouldy. But what about the pickiest pooches like Frenchies? Fussy dogs are likely to turn their nose up and trot away from their food bowl if there was anything amiss, such as the food being off, and wait for some treats instead, and rightly so!

If your dog has been eating the same food for a while, it’s a good idea to check the packet and see when it expired. Believe it or not, this applies to any dry dog food too. However, this is especially important if you feed raw food as this will harbour bacteria and cause a number of tummy problems if your dog does decide to take a bite of any spoiled raw meat.

They don’t like their food

Some dogs can be real fusspots, so they might not be eating their meals because they simply just don’t like the food you’re putting down in front of them. Talk about a pampered pooch!

Full up on treats

Are you a sucker for that waggy tail and those puppy dog eyes? Yep? Us too. Although it’s great to give your pooch a few treats when they’ve been good (or just because they look super cute), you might be handing out a few too many so that they’re not hungry enough for their main meal.

This might be especially true if your pooch is in training, as it’s likely that you’ll be using lots of treats through the day to help get your pup trained to perfection.

They’d rather eat yours!

Sometimes we’d much rather eat a load of food that isn’t that great for us rather than a balanced, healthy dinner. And your dog might feel the same way! Your dinner might smell amazing to your pooch (even though it will probably contain lots of things not suitable for our hounds), so they might be testing the waters and holding off from eating their own dinner in the hopes that you’ll toss them some table scraps.

Dogs know how to play with our emotions with their puppy dog eyes, so it’s easy to give them something from your plate out of sympathy and worry if you know they’ve not eaten. But that’s exactly what they’re after!

Our hounds are very clever, and they’ll soon come to realise that if they don’t eat their meals straight away that they’ll be in with a chance of yours. And although they might be on a hunger strike from their main meal, your pooch will probably still want to gobble up any tasty treats that come their way.

Dental issues

Any kind of toothache, ulcer or infection in the mouth can make eating a really painful chore, and it’s just the same for your dog, explaining why your dog might be refusing their dinners. However, they might still be able to manage treats as they’re only tiny little titbits.

Treats can generally be quite soft, or even small enough to swallow down in one gulp, making them much easier to eat than a bowl of food. Take a look inside your dog’s mouth and see if there’s anything amiss. If so, get them to the vets straight away to get the problem sorted instantly so your pooch can continue tucking into their tasty meals.

How can I make my dog eat their food?

Before your dog goes back to scoffing down their dinners again, you need to try and work out what’s causing the problem in the first place and hopefully resolve it. So, if this is a new problem, go to the vets and see if there are any medical or dental issues, consider how many treats your dog gets on the daily, take a look at your dog’s dinners and even have a look at your environment, has anything changed?

A dog that won’t eat is super stressful for pet parents, so let’s take a look at some tips and tricks on how to get your dog to eat their meals.

Try out a new food

Your dog might just not like what’s on the menu currently, so now’s the time to try out a new food that’ll tickle your pup’s tastebuds. Also, just make sure to double check that your dog’s bowl is clean from old food and their food is still in date if this is a sudden change of appetite!

Your picky pooch needs something with delicious, high-quality ingredients that will be almost impossible to resist. And of course, we’d really recommend Pure!

Pure is full of real meat, fruit and vibrant veggies to create tasty, balanced dinners that’ll get your pooch’s tail wagging in no time, we’ve won over tonnes of fussy eaters with our yummy recipes. Pure is the complete opposite of those boring brown kibble biscuits (we can totally understand why your dog wouldn’t want to eat them!), and you can serve it up to your dog as a delicious-smelling, warm dinner that’ll be sure to get them salivating.

Stop handing out treats and table scraps

Although those puppy dog eyes might be hard to resist, you need to be a stern pet parent and lay off the treats. You need your pooch to learn that they’ll only be able to have treats once they’ve eaten their dinner. Raising a dog really is like raising a human child sometimes!

Also, table scraps need to be totally off limits, so make sure to keep everything out of reach. Once your pup realises they don’t have treats to fall back on, they’ll probably go back to their food bowl once they’re hungry and stop begging.

The most important thing with this is to be consistent. Put their dinner down and if they don’t eat it within 10 minutes, take it up and don’t put it back down until their next scheduled mealtime, with no treats in between. It might be hard to know your pup is missing their mealtimes, but once they realise that they get nothing in exchange for their food, they’ll start eating it.

Don’t give treats randomly, only if they truly deserved the treat during training. It can be super frustrating trying to kick this habit, but just be patient and don’t give in to any begging and cuteness!

Check your surroundings

If you think that this loss of appetite is caused by something in your dog’s environment, you need to work out what it is and get the issue fixed. For example, if it’s another dog in the household causing the issue, try feeding them in separate rooms to make sure no resource guarding and intimidation tactics are at play.

On the other hand, if your pup is feeling anxious about loud noises such as fireworks, and that’s causing them not to eat their dinner, they should go back to normal once the noise has stopped. However, it’s a good idea to try and desensitise your dog to loud noises and help them deal with things like fireworks, as nobody wants their pooch feeling anxious and fearful.

Hopefully, if the only difference is just something minor like a routine change, then your dog should get used to it in a few days and get back to their normal self in no time.

Will my dog starve?

No, if your dog is otherwise healthy and they get hungry enough, they’ll eat. Dogs can actually go up to 5 days without food if they’re feeling stubborn enough, but of course, we don’t want it to get to that point. If it has been more than a few days since your dog last ate, head to the vets.


All in all, there are several reasons as to why your pup might be on a hunger strike from everything you dish up, so work with your dog to get to the root of the problem. Once you’ve got it cracked, your pooch should be gobbling up their meals in no time.