I have just been through this exact same thing with my 23mth old son, and your story sounds exactly like mine. I tried all the cajoling and the healthy snacks, and worried and stressed for weeks about him being hungry, but in the end I just had to go for zero tolerance.
He now gets absolutely no food at all unless sat at the table, and if he doesn't eat what I give him, I say "ok, not to worry" and take the food away.
He has to stay at the table until we have all finished, then he can get down. But he gets nothing else until the next meal, even if that is breakfast.
It did mean a few broken nights sleep though cos he was waking up hungry, but today for example he ate fruit porridge for breakfast followed by some grapes, then small plate of spaghetti bollognaise for lunch at CM house, and for dinner he ate most of his shepherds pie, an apple and a biscuit. He has just drained his bedtime milk and I am looking forward to a full night's kip.
Now I am not trying to rub your nose in it, but this has been a landmark day for us after a couple of months of sheer hell. But encouragingly - i hope, is the fact that we only started the zero tolerance thing at weekend, and today was fantastic.
I hope this helps. I am still keeping my fingers crossed for tomorrow, that my strategy is still working and not just luck!!
Good luck.