Well, some may think I'm overly mean for this, but we've had to do it a few times for our would-be picky-eater. Note that our pediatrician approved before we did it - I think she actually suggested it and said a child would not starve him/herself over a dislike for food.
As a normal routine, at the start of dinner, we give our daughter (who is now 3-1/2) some of each item we are eating (not a large amount, quantity isn't the point here). If she doesn't finish all the items, she can't have seconds. If she doesn't eat at least some (a few good bites) of everything, we put her plate in the fridge and reheat dinner for breakfast. If she doesn't eat it at breakfast, it goes back into the fridge for lunch, etc. We don't force her to clean her plate at dinner, but if she refuses to eat at least a bit of everything at dinner so that we're reheating her food the next day, she has to finish that plate of food before she gets to eat anything else.
We've had her skip both dinner and breakfast on several occasions (probably less than 10 total, but we started this when she was pretty young). Usually, she's hungry enough by lunch to eat it, though we've had her skip lunch too. She's never made it all the way through to the next night's dinner, though. The latest she's ever gone was the end of her nap (afternoon snack). By then, she'll eat whatever it is...and she's convinced by then that it's "yummy!" We've even been known to serve the same thing for leftovers that night (just because we were planning to anyway, not for her benefit) and she'll eat it again.
Yes, this can make for a miserable day...hungry, tired, whiny child. But we don't let her whine and ruin everyone else's day, either...if she won't stop whining she gets to spend time in a "crying chair" away from everyone else. We also remind her that if she's hungry we have food for her in the refrigerator.
And once we do this - and show that we'll follow through - she doesn't push nearly as hard the next time. Most times nowadays if she's refusing to eat something, all we have to do is say that if she doesn't eat at least some of everything now, she'll have it for breakfast...and she starts eating.
For us, one key here is not to give her too much for her first serving. We're not trying to get her to eat a huge quantity of a food she doesn't like. But it's amazing how her tastes have expanded just by repeated exposure to foods that, at first, she didn't want to touch. It used to be she didn't want any veggies or meat...only starches and cheese. Now she likes peas, carrots, and corn (not a lot of veggies, but it's a start) and she'll eat others if we serve them. She still isn't a big fan of meat (I think it's a texture/chewing thing) but she'll eat most meats if we cut them up small enough for her.
Hope this helps!
B.