A.,
My son went through that, eating only cereal, yogurt, crackers and cheese. I hope you discuss the problem with his doctor and give him vitamin supplements.
Understand that he will fight you because he is so used to having it his way.
You have to set the rules, then stick to them. Even tell him ahead of time the changes that are going to take place. Some kids don't like changes in their habits without notice. You could try to make it fun if you are the creative type. If he likes charts with stars or stickers maybe you could go that route. I would offer a dessert he liked if he ate a decent amount of my food. I never made him clean his plate.
Another suggestion is to limit one meal of the day to add a new food. I used dinner time because breakfast is too important and if he skipped lunch he would simply hold off until snack time or dinner. With dinnertime, there was a consequence of going to bed hungry if he didn't eat.
I would put food regular food in front of him and had a serving of something he liked on the table out of his reach. I would then tell him that he must eat a bite of "my" food (which is healthy and reasonably attractive to a child), then he could get a bite of "his" food.
Of course he threw a fit about it, but I calmly insisted he could have his food, all he had to do was take a bite of "my" food first. I would even feed him to encourage a bite.
I have sent my son to time out and his room until he could join us again without screaming. I even let him go to bed without eating anything at all, just water. Your son will not starve to death and when he realizes you are not giving in, he will give in and try a bite.
When he does take a bite, say "yeah! Good boy!, clap your hands and let him know you are very proud of him for trying a new food. Even if he doesn't eat much, a little is a start and before you know it, he should be eating more of a variety.
As he gets used to eating a bite, then have him eat three bites of good food to one of his foods, then "eat all of (this) then you can have (that)".
BTW, ANYTHING YOU TRY--YOU MUST STICK TO IT FOR IT TO BECOME A HABIT 27 DAYS!
I don't know if it was my insistence or that he just outgrew it, but he is 5 now and eats most of every thing. I now have him try at least one bite of each thing I put on his plate and he eventually starts to like it.
Good luck
K.