I have the same problem with my 2 year old, I prepare lovely food and she just says its 'disgusting' and won't eat it!
At her 2 year check, the HV said she will eat when she is hungry, to stop 'discussing' food with her, ie cajoling, tell her its yummy etc, as this just highlights there is a problem with food. To just sit her at the table, put the food in front of her and let her get on with it, if she doesn't eat it take it away and say nothing! Very very hard I have to say, but took her advice and it works, some days she will eat it all and other days she eats nothing! But there are no dramas, as I was getting upset about the waste and her not eating, now I just take it in my stride!
She also said if she doesn't eat her main course, to still give her pudding but only fruit or a yoghurt, nothing too nice! Also if you know she will only eat 1 chip, 2 peas and 1 fish finger, only give her that so she clears her plate, so you can praise her for clearing her plate, don't mention eating her dinner as we all have to eat and its normal, so she doesn't get praise for that, just clearing her plate?
She also said to watch their milk intake in the day as that can fill them up, only give water in between meals, juice is allowed with meals but no other times?
I don't usually listen to HV but I think she actually talked sense this time, worth a try me thinks!
Hope it works!