I've had this problem with my daughter since she turned two. It used to worry me, but as long as they are energetic, healthy and gaining weight normally, they're just fine. Toddlers and preschoolers are grazers... they only eat small amounts here and there and it's actually better for them to eat this way. It's actually better for all of us to eat 5 or 6 smaller meals throughout the day rather than 3 big ones. Small kids just know this instinctively and then we adults train them out of a good habit because we were taught your supposed to eat 3 meals a day.
It's also better to let them eat when they're hungry instead of forcing them to eat when we want them to. Firstly, it teaches them to recognize when they are hungry and that they should eat when they do get hungry. Also forcing a kid to eat when they're not hungry can eventually cause problems with obesity because they get into the habit of eating whether they're hungry or not. I always ask my daughter if she's hungry. If she says no, I leave her be. If she says yes, then I make her something and she eats it... most of the time.
In the end, the more you make it a big deal, the more he's going to resist it. So if he doesn't eat, just shrug it off as if it's not a big deal and walk off. Usually if my daughter is being funny and I know she's hungry cause she's asking for junk food, I'll make something that she likes that is healthy and I'll put it on the table. She gets upset, but I walk away telling her it's there if she wants it and if she doesn't she can just leave it there. Within five minutes she's usually at the table eating.
If he likes potato... have you tried giving him potato salad with some shredded veggies in it? Also you can put almost anything in mashed potatoes. You can mix cheese in there for some protein since he doesn't like meat. If you use a white cheese he won't even know it's in there. Or you can puree some steamed veggies and mix it in... but if the color is going to turn him off try to stick to light colored veggies or just add a little bit in so he can barely see it. Even some applesauce tastes good in mashed potatoes, but just a little bit so he doesn't really notice there's anything different.
You can also try a potato casserole kind of thing. Thinly slice some potatoes, and get a light colored veggie like squash or zuchinni. Cut the skins off and thinly slice that too. Grease a casserole dish then layer the potatoes with the veggies and sprinkle a little white cheese between the layers. Bake that in the oven at about 350*F (180*C) until it's cooked... you should be able to get a fork through easily. If your oven cooks too fast, cover it with some foil. You may want to boil the potatoes until they're nearly cooked first because they sometimes don't cook as fast as the veggies otherwise and you don't want the veggies to get too mushy. Once the cheese is melted and everything is all cooked together he probably won't even notice the veggies in there because they almost look like the potato. You can even make that in batches and freeze servings and take it out when you need it. I make this as a side dish a lot and even my husband eats it and he hates veggies.
You may even want to see if he likes sweet potato. If you can get him eating that, it's got a lot more vitamins in it than regular potatoes. You can even mix some of that into some mashed potatoes and serve it to him to introduce him to the sweet potatoes.
Good luck! Hope this helps!
Naya