It was mainly food intolerances causing my son's headaches that made him vomit. However, his escalated as his body became more and more under stress from the foods he was eating. When we sorted his diet they immediately stopped, and now only recur from time to time when I believe his stress level may already be high from other things (perhaps lack of sleep, dehydration etc.). The foods he was intolerant to were things you wouldn't necessarily thing of: pepper, pork products (including ham, which he had been eating a lot of), coconut, tuna (but not other fish), shellfish, and some other mild ones like wheat. After a period of total avoidance he is now able to eat any of those things as long as he doesn't eat tons of it, and as long as his body isn't under other stress.