The best foods to eat on your period are ones that work against the specific things making you miserable: cramps, bloating, fatigue, and mood swings. That means leaning into foods rich in magnesium, iron, omega-3 fatty acids, and potassium while cutting back on salt, sugar, and processed snacks that can make symptoms worse.
Foods That Help With Cramps
Menstrual cramps happen when your uterus contracts to shed its lining, driven by chemicals called prostaglandins. The more prostaglandins your body produces, the more intense the cramping. Several nutrients directly interfere with this process.
Magnesium is one of the most effective. It relaxes uterine muscles and reduces prostaglandin production, tackling cramps from two directions at once. Studies have used 150 to 300 milligrams per day with positive results, and combining magnesium with vitamin B6 (around 250 mg magnesium plus 40 mg B6) appears to work better than magnesium alone. Good food sources include pumpkin seeds, almonds, spinach, black beans, and avocado. Dark chocolate with at least 70% cocoa is another solid option: a single ounce provides about 15% of your daily magnesium needs, plus it genuinely improves mood (not just because it tastes good).
Omega-3 fatty acids, found in salmon, sardines, mackerel, walnuts, and flaxseeds, also reduce prostaglandin activity. In one clinical trial, women who took omega-3s for three months experienced a significant drop in pain intensity and needed fewer painkillers compared to those on a placebo. You don’t need supplements to get this benefit. Two servings of fatty fish during your period, or a daily handful of walnuts and a tablespoon of ground flaxseed stirred into oatmeal, can help shift the balance toward less inflammation.
Iron-Rich Foods to Fight Fatigue
Your period depletes iron with every cycle through blood loss, and heavier periods mean greater losses. The recommended daily iron intake for menstruating women aged 19 to 50 is 18 mg, which is more than double the recommendation for men. Many women fall short of this even on non-period days, so eating iron-rich foods during your period is especially important.
The iron your body absorbs most easily comes from animal sources: red meat, chicken thighs, turkey, and shellfish like oysters and mussels. Plant-based iron from lentils, chickpeas, tofu, and fortified cereals is still valuable, but your body doesn’t absorb it as efficiently on its own. Pairing these foods with something high in vitamin C (bell peppers, citrus, strawberries, or tomatoes) significantly boosts absorption. A lentil soup with a squeeze of lemon, or a spinach salad with sliced oranges, puts this principle into practice.
What to Eat for Period Bloating
Hormonal shifts in the days before and during your period cause your body to hold onto water, and high-sodium foods make it worse. The fix isn’t necessarily drinking less water. It’s actually the opposite: staying well hydrated helps your body release excess fluid rather than hoard it. Aim for water, herbal teas, or warm broth throughout the day.
Potassium helps counterbalance sodium and ease fluid retention. Sweet potatoes, bananas, tomatoes, and yogurt are all high in potassium. At the same time, cutting back on processed and packaged foods (chips, canned soups, fast food, frozen meals) reduces the sodium that triggers bloating in the first place. Cooking at home during your period, even simply, gives you more control over salt levels.
Fiber-rich whole grains, fruits, and vegetables also help with the digestive bloating and constipation that often accompany menstruation. Oatmeal, brown rice, berries, and cooked vegetables are gentle on your gut while keeping things moving.
Foods That Support Your Mood
The drop in estrogen and serotonin around your period can leave you feeling irritable, anxious, or low. Complex carbohydrates help by boosting serotonin production naturally. Whole grain bread, sweet potatoes, oats, and quinoa all provide a steady release of energy without the crash that refined carbs and sugary snacks cause.
Bananas pull double duty here. They contain vitamin B6, which supports serotonin production, along with potassium for bloating. Eggs, chicken, and sunflower seeds are also good B6 sources. And while reaching for candy or pastries is tempting, the blood sugar spike and crash can actually worsen mood swings and fatigue. If you’re craving something sweet, a square or two of dark chocolate, some dates with almond butter, or a banana with peanut butter will satisfy the craving while delivering nutrients that genuinely help.
What to Avoid or Limit
- Salty processed foods: Chips, instant noodles, and fast food increase water retention and make bloating worse.
- Excess caffeine: Coffee in moderation is fine for most people, but large amounts can increase cramping and anxiety. If you’re sensitive, switch to green tea, which has a smaller dose of caffeine along with calming compounds.
- Alcohol: It worsens dehydration, disrupts sleep, and can intensify cramps and mood swings.
- Refined sugar: Cookies, candy, and sweetened drinks cause blood sugar spikes that amplify fatigue and irritability.
A Simple Day of Period-Friendly Eating
This doesn’t need to be complicated. A practical day might look like oatmeal topped with banana and pumpkin seeds for breakfast, providing magnesium, potassium, and B6. Lunch could be a grain bowl with salmon or chickpeas, leafy greens, avocado, and a lemon-based dressing, covering omega-3s, iron, vitamin C, and more magnesium. For dinner, a stir-fry with tofu or chicken thighs, sweet potatoes, and broccoli hits iron, potassium, and fiber. Snack on a couple squares of dark chocolate, a handful of almonds, or an orange.
The key pattern is whole, minimally processed foods that are naturally rich in the nutrients your body loses or craves during menstruation. You don’t need to overhaul your diet. Even swapping in a few of these foods during the heaviest days of your cycle can make a noticeable difference in how you feel.

