but he will eat crisps, biscuits and occasionally toast.
Sorry, but here is your answer. You made him discover junk/sweet food and he will now refuse anything else.
If you want to really reverse this, it will be with a fair amount of tears, probably on both sides.
Remove all crisps, biscuit and the like, don't buy them, don't have them in the house, take your meals both together at the table, not a tv, both with a plate and cutlery, and do not offer alternatives after alternatives when he refuses something.
Another thing that works is being hungry at meals, so stop the razing and snacking, if he does, even healthy things like a grape here, a cube of cheese there, only give water to drink before his meals.
Stop buying juices or flavoured milks, pouches which have fruit as the first ingredients, baby custard.
It will not be easy. Meanwhile, try to learn how to make very tasty health food. A boiled brussel sprout might be a lot less appealing than brussel sprouts leaves mixed in a bowl with rosemary and the tiniest amount of salt and roasted in the hot oven until they turn into chips.
Make a tomato soup (1 onion, 2 carrots, 2 stems of celery, 5 ripe tomatoes, 1 bottle of passata, 1 cloves of garlic, cover with water until all veggies are covered , fresh parsley cook for 45 minutes, blend, then put two paddle of the soup in a small pot, add small shaped pasta, cook it in the soup, add freshly grated parmesan, and give it to your DS).
'
Give real food, full of flavours, use extra virgin olive oil, fresh herbs, if cooking a piece of chicken, cook it in the oven in a cake dish with extra virgin olive oil , onions, a sliced tomato, or cherry tomatoes cut in half, garlic and fresh herbs. The veggies will release juice to cook and meat will be soft and tasty.
If you want to compete with industrial food you need to start giving food that tastes amazing. And it is not difficult. It takes time. Absolutely, but often is it the time to cook more than prepare, like the recipe for the chicken I gave you. Putting the chicken in a dish with the veggies, herbs and oils will take you less than 5 min.
A good judging tool is " would you happily eat what you are seeing your DS and offer your plates for seconds?"