I know he's hungry because after he's refused food / tipped plate on the floor / thrown cutlery at the dog he'll be asking for a banana or ice cream. I don't want to give in as I think it'll reward the behaviour (even though I think it is 'normal' at 2.5yrs).
The real question I guess is whether I should be punishing him for refusing his dinner - even if it's just not giving him treats he might normally get in the evening, like watching his favourite cartoon or getting his train set out. It feels harsh and I worry I'll make dinner more stressful / develop eating complexes, but at the same time letting him down and go and play with his favourite toys just feels like I'm reinforcing the behaviour.
I wouldn't punish not eating, watching tv or having your toys isn't logically connected to not eating, and would be very confusing for a 2 year old IMO . I understand how stressful it can be in the moment when you really want them to eat - I've felt that frustration! But honestly from experience getting wound up won't help, I'd you can take a deep breath and just say 'ok' but DON'T offer other food. A logical consequence of not eating the food provided is that he'll be hungry. Keep the food for him, and say he can come back to it. Take away the power struggle and I think he might stop playing you up. Then the message is 'if you don't eat dinner there's nothing else to eat, choice is yours'.
A great phrase I read about food battles was something like: 'you (parent) decides what, when and where, they decide whether and how much'