One of my kids will go hungry rather than eat something he doesn't like (I'm the same). When he was a toddler, there were times when weight gain was a challenge. My solution is to give my kids stuff they like, within reason. Dinner was often a miserable time for me as a kid, and I want to make it more pleasant for my kids.

Our rule is that the kids have to try something once. If they don't like it after a small but real bite, (not a tiny nibble), they don't have to eat more. Everyone discovers new foods that way. I think that this approach helps keep them open to new foods.

Other than that, I don't generally force my kids to eat things they don't like. I don't generally eat foods that I don't like, so why should I expect my kids to? Sometimes this means making a different main course for someone because s/he doesn't like lasagna or whatever. When this happens, I substitute something simple, like yoghurt or a scrambled egg. Still hungry? Eat an apple or a plum or some cheese and crackers.

Others may object to this approach, but it keeps mealtime stress levels pretty low. My goal is to teach healthy eating habits, not win a (pointless IMO) battle over eating what's put in front of you. OP, I'm NOT accusing you of fighting pointless battles! I'm just anticipating potential criticisms.