T.D.
S.
Sounds like you have typical 3 yo battling for control. I am a dietitian and recommend a great book by Ellen Satter, "Child of Mine". I will give you a short summary to get you started on having happier mealtimes. First, remember eating is an individual thing, at 3 he can do it by himself, we can't force anyone to eat. There is a division of responsibility between parents and child:
Parent is responsible for WHAT FOODS are served (a variety of healthy foods); WHEN meals/snacks are offered (5-6 times a day at the same time each day); and WHERE meals/snacks take place (the table, hopefully).
Child is responsible for WHETHER OR NOT to eat, and HOW MUCH to eat.
So, let him help you prepare the meal so he feels part of the meal process. If he starts misbehaving at the table, tell him that it is not appropriate to behave that way and then ignore the behavior. Say nothing about eating or the food in front of him. Let him know that this is what is for dinner and if doesn't want to eat that it is ok. Maybe offer him a snack before bed (if you don't already) so he has another opportunity to eat. Engage him in talking about other things.
He won't change overnight, it may take a week or 2 of you being consistent and allowing him to make the decision to eat or not. No child has ever starved from skipping a meal. I know it is hard when they don't eat, but they will eventually.
Good luck and remember if you relax and follow the division of responsibility, mealtimes will be pleasant for both of you.