ooooo, this brings back memories. Here's some advice I got from the feeding specialist who helped me with my son:
* NEVER try and force feed. Ever. All it does is make matters worse, and he won't get the food in him anyway.
* Do NOT become a short order cook. If your son learns that he simply has to "hold out" until you give him the foods he's already "approved of", you'll quickly be a slave in your kitchen.
* Offer, offer, offer. Kids will reject a food up to 10 times before they'll even TRY it.
* Do NOT let them have a continual snack parade. Set eating times and STICK WITH THEM. A hungry child is much more likely to try something new than a not-so-hungry child.
What worked for me:
I'd feed my son what he liked, but with added ingredients. For example: he loves ravioli. So instead of cheese ravioli, I fed him spinach ravioli. And I'd add variations until he gladly gobbled up the spinach ravioli. I'd switch the cheese - from american to swiss, or ricotta, etc. Sometimes he'd flat out refuse the food, sometimes he'd eat a little and then say yuck, sometimes he wouldn't notice.
I have said "it's this or nothing". Don't get mad, just take the food away. Mealtime is over when he stops eating. Eventually this will sink in.
This will take months. I suggest valium for you, because this is EXTREMELY frustrating. But it's definitely worth it. It seems to take forever, but if you want to stop the battles for the next 15 years or so, doing this hard work now will definitely pay off.
And finally, I changed it up. I ate what he ate. I found that my son always wanted to try what I was eating, so I started eating what I wanted him to eat. Not only is it good for me, because I'm eating more vegetables and fruits, but it's easier to get him to try new foods. I'd also put him in my lap. He was much more relaxed and open to trying new foods when he was sitting in my lap, snuggling with me.