When a migraine hits, relief often becomes the top priority. So it’s no surprise that many people ask if certain foods can ease symptoms or reduce frequency.
A migraine is a neurological condition that causes severe, often debilitating headaches. Its causes are varied and difficult to pinpoint. Diet is just one possible factor. “The concept of food triggers in the development of migraine headaches is complex,” says Dr Brian Gerhardstein. Because each person experiences migraines differently—with varying frequencies, intensities and patterns—there’s no universal diet guaranteed to prevent them. For instance, caffeine may help reduce symptoms for some, but act as a trigger for others.
Still, there is “growing evidence” that certain foods may support migraine relief or reduce how often they occur, says accredited practising dietitian Kayla Farrell. “While identifying and avoiding trigger foods is important, incorporating nutrient-rich, anti-inflammatory foods into the diet can also support migraine management,” she says.
Foods and drinks for migraines
Here are some foods experts say may help relieve symptoms or lower the frequency of migraines. While research is still developing, these options could be worth exploring as part of a well-rounded diet:
Fatty fish
Fatty fish such as salmon, tuna, mackerel, herring, sardines and oysters are packed with omega-3 fatty acids, which are known for their anti-inflammatory properties. That’s why they may help reduce migraine frequency and severity, says Farrell. One study found that after 16 weeks of eating a diet higher in omega-3s, participants with regular migraines experienced fewer and less intense headaches.
Flax seeds, edamame, walnuts and avocado
If you’re plant-based, you can still get those omega-3s without the seafood. Flaxseeds, edamame, walnuts and avocado offer similar anti-inflammatory benefits and may be a good option for people managing migraines through diet.
Sweet potato, eggs
For some people, migraines can be triggered by temporomandibular joint disorder (TMD), says dentist Dr Sandip Sachar. TMD often shows up as tightness in the jaw, head or neck—sometimes caused by clenching or grinding your teeth. Hard or chewy foods can make these symptoms worse, so Sachar recommends choosing soft, nourishing options like mashed sweet potato or scrambled eggs that are easy to chew and gentle on the jaw.
Beans, berries and apples
One large study of more than 12,000 people found that increasing daily fibre intake by just 10 grams lowered the risk of severe headaches or migraines by 11%. While most fruits and vegetables offer some fibre, beans, berries and apples are especially rich sources. Researchers believe this might have something to do with the gut-brain connection, as better digestive health may help prevent inflammation that contributes to headaches.
Brown rice, bananas and dark leafy greens
People who experience migraines may not be getting enough magnesium, a mineral that supports healthy muscle and nerve function, says Farrell. One 2021 study found low magnesium levels were common in migraine sufferers, possibly due to the mineral’s connection with serotonin—a chemical messenger that influences pain and mood. Other research has also shown that magnesium may help ease symptoms, especially in women.
You’ll find magnesium in plenty of foods already on this list, but brown rice, bananas and dark leafy greens deserve a special mention. In fact, one study found that following a whole food, plant-based diet with a focus on dark leafy greens helped improve migraine symptoms.
Water, cucumber and watermelon
Staying hydrated is a non-negotiable part of managing migraines. “It’s important to maintain adequate hydration throughout the day,” says Dr Gerhardstein. A 2020 study involving over 250 adult women found that drinking more water daily led to fewer and less severe migraines. Dehydration is often an overlooked migraine trigger, adds Farrell, and can make existing headaches feel worse. If drinking more water is a struggle, load up on hydrating foods like cucumber and watermelon to help keep your fluid levels up.
Foods to avoid if you get migraines
Some people find that certain foods make their migraines worse—but the science is still murky. “There’s inconsistent evidence on which foods act as triggers,” says Dr Gerhardstein. Still, some of the most commonly cited culprits include alcohol and chocolate. Others may react to cheese, yoghurt, cured meats like salami or bacon, soy products, onions, tomatoes and ingredients such as MSG, aspartame or caffeine.
That said, there’s no single list of foods that everyone with migraines needs to avoid. “Cutting out too many foods for fear of an attack can actually lead to other issues like nutritional gaps, added stress or social isolation,” Dr Gerhardstein says. It’s all about finding what works for you.
Caffeine and migraines
affeine often gets a bad rap when it comes to migraines, and many of Dr Gerhardstein’s patients list it as a common trigger. But it’s not so black and white. Caffeine is actually a key ingredient in several over-the-counter headache medications, and some studies suggest it can help ease acute migraine pain. That said, the link between caffeine and migraines isn’t fully understood, and more research is needed.
So, if you think caffeine might be playing a role in your symptoms—good or bad—it’s best to speak with your doctor before making any big changes to your intake.
Migraine diet
There’s no one-size-fits-all migraine diet, but keeping your meals balanced and focused on whole, minimally processed foods is a great place to start. “More studies are needed to determine if there’s solid science behind specific food triggers,” Dr Gerhardstein says. For now, a healthy diet rich in nutrients and low in ultra-processed options is the most widely recommended approach.