I have a similar eater--my daughter loves fruits, veggies and cereal but eats nothing with any protein. She has a limited appetite so she's fine holding out if I tell her no food. Since her weight is low I really can't do that strategy with her.
We started on feeding therapy with her with an OT since she has some sensory issues which may be driving her dislike for most foods. The first thing they told me to do was to greatly reduce her food/milk intake. Lots of time kids get full on water and milk is really filling so they don't have to eat much else. We keep milk to 16oz a day and 2oz cups of water during snacktime/between meals if she's thirsty. Kids need a lot less fluid than we think they do, especially in winter when they're not sweating.
The next thing they suggested was to give her food five times a day at her high chair on a schedule (3 meals/2 snacks). No snacking anywhere else but there. Feedings every 2 hours might help boost appetite. My DD would eat a huge banana for breakfast which was great since fruit is healthy, but it kept her full enough to hold out from eating anything else. We give her half that now and encourage a mid morning snack.
Also, a lot of people overemphasize what kids need to eat. They told me for my DD's age she should be eating 2 tablespoons of a food (whether it be meat/fruit). When I measured out some meat it was practically nothing it seemed! I got so spoiled with my son who eats like an adult that I didn't realize how little kids actually need.
Another strategy that's important is offering less desired foods at every meal. My DD doesn't like meat so there's a tbsp on her plate 5 times a day. Even if LO just plays with the food there, it's a step in the right direction. With my older child we tell him he needs lots of foods to grow big and that he has to try everything on his plate. He might not eat everything but we reward him from trying and never force him to eat something he doesn't like. A lot of times kids need to be exposed to something 10+ times to actually try it and even more until it becomes part of their diet. Don't give up on the foods he refuses.