I don't think what was listed is a particularly bad diet for a 5yo.
"potatoes, baked beans, cheese, pasta, spag bol and sausage rolls"
At a glance:-
Carbs - potatoes, pasta, spaghetti
protein - beans, meat in the bolognaise and some in the sausage roll.
calcium - cheese
fats - sausage roll and hard cheeses. Children (particularly if they are active) do need a certain amount of fats.
Vit.C in the potatoes.
I certainly wouldn't say it's a really bad diet.
One of mine ate seemingly not much more than waffles, bananas and yoghurt for a long time.
Reikizen Keep a note of what he eats on a daily basis for a while.
Does he like fresh orange juice (instead of fruit if he won't eat fruit)?
Does he eat a breakfast cereal. Most are fortified with extra vitamins? If he will have milk on it then you've the added bonus of milk otherwise if he prefers to eat it dry then let him.
Would he make a fruit salad with you and eat it?
Try to get him to cook/bake with you. Let him choose the recipe. Modify it to suit him. Leave off or include ingredients to suit his taste. e.g I've had one who would only eat cheese pizza (no tomato). It was a start and they slowly added other stuff.
If he likes jam do something like jam scones or jam tarts. It's sugary but if you use a jam high in fruit then that's a start for the fruit.
Try veg cooked or uncooked. Some of mine won't touch cooked carrots or peppers but will eat them raw.
But mostly don't worry. He will grow out of it as long as you make a variety of food available. If you are eating a varied diet and always offer him some then at least he will be aware of lots of different foods.