This is such a normal phase, and we all go through it in some version. I guess I would kindly remove it from the table or high chair tray, whatever you are using, clean up as much as you can, and not give him the "NO" he seems to want until he actually gets it an bursts into tears. Then give him one portion of the food and make sure he doesn't throw it - don't try to force him to eat it, but he doesn't get to treat it inappropriately. Remove it before he ruins it, and say "If you don't want the pasta, then you may want to start with the carrots." I would not give him more than 3 foods anyway - choosing can be hard - but giving him an example of a balanced meal is a good thing. Maybe hold the plate near you or on the table, and show him his choices for tonight. See which of those 3 he wants to start with. Try to be upbeat even though you are really waiting for the throwing to begin!
If it is an entirely new food, you have to give him a chance to try it and either like/dislike it. Studies show that kids may have to try a new food as often as 6 times to really decide if they like it or not. But if it's a food you know he likes, then you don't give as many chances.
If he continues to throw or reject food, remove it, and take him out of the high chair. Say, "I guess you are not hungry now. Okay." Put the food away. If he wails, put him back in the high chair and start over. DO NOT make something entirely new. The dinner you have put out is the dinner he gets - again, unless it's a totally new food that doesn't appeal to him, but you make the distinction that he doesn't get to throw it. Food is for eating, or for putting back in the refrigerator. Do NOT let him see you toss anything away because then he will learn to waste. You can even consider putting down a clean sheet or mat underneath the high chair - anything that hits the mat gets scooped up and put back on the plate! The trick is to do it without emotion. State matter-of-factly, "We do not throw food. Food goes on the plate." You can give him choices at this age of feeding himself or having you do it, of using his hands or trying to use a spoon, etc. All choices have to be reasonable but can offer him some control.
If he constantly refuses, let him get hungry. But the next time he refuses, THAT MEAL is the one he gets - even if it's for breakfast! If there is one food that he really dislikes, don't keep forcing it - but if it's a battle of wills, don't let him force you into making a meal of his choosing. That will just mushroom into you being a short-order cook and having to cook separate meals for him when he is 5 and 8 and 11. It's a slippery slope so try not to go down it.
And while I am not advocating that he be deprived, remember that he will not starve (no matter what my mother-in-law said!) if he doesn't eat much tonight and makes up for it tomorrow.
Good luck!