Calibrated Cuisine

Lemon Herb Baked Cod with White Beans: 52g Protein, High Fiber, and Full B-Vitamin Coverage in One Pan

13 min read

↓ Jump to Recipe

There is a reason Mediterranean coastal cuisines have centered white fish and legumes together for centuries: the combination is nutritionally complete in a way few single-dish meals can claim. Lean cod contributes all nine essential amino acids in near-perfect ratios, while cannellini beans add slow-digesting complex carbohydrates, soluble fiber, and a second wave of plant-based protein that together push this dish into genuinely elite nutritional territory. The lemon and fresh herbs are not just flavoring choices either; they provide meaningful antioxidant and anti-inflammatory phytochemicals that help the body absorb the iron and zinc present in both the fish and the beans.

What makes this recipe special from a culinary standpoint is the layering of technique. Whether you choose the oven, stovetop, slow cooker, or pressure cooker, the goal is the same: coax the beans into a silky, almost porridge-like base that cradles the cod while it cooks gently, basting the fillets in herbed, lemony broth without drying them out. Cod is a notoriously easy fish to overcook, so every method here includes precise temperature and timing guidance to guarantee that clean, pearlescent flake every time. The olive oil finish carries the fat-soluble carotenoids from the parsley and lemon zest directly into your bloodstream, demonstrating that good cooking technique and good nutrition science are often the same thing.

For anyone tracking macros, managing blood sugar, or simply trying to eat more protein without excess saturated fat, this dish is a benchmark. At roughly 420 calories per serving, you receive 52 grams of protein, 18 grams of fiber, under 9 grams of fat, and a glycemic load comfortably in the medium range thanks to the resistant starch in the cannellini beans. It fits seamlessly into Mediterranean, pescatarian, high-protein, and blood-sugar-conscious eating patterns, and it scales beautifully for meal prep or a dinner party.

Prep: 15 minutes
Servings: 4
Category: Mineral Matrix
✓ Gluten-Free✓ Dairy-Free✓ Nut-Free✓ Peanut-Free✓ Soy-Free✓ Egg-Free✓ Sesame-Free
Servings:

4

servings

Ingredients

  • 680 gcod fillets (about 4 x 170g pieces), skin removed, patted dry
  • 800 gcanned cannellini beans (2 x 400g cans), drained and rinsed
  • 3 tbspextra-virgin olive oil, divided
  • 6 clovesgarlic, thinly sliced
  • 1 mediumyellow onion, finely diced
  • 240 mllow-sodium chicken or vegetable broth
  • 1 largelemon, zested and juiced (about 3 tbsp juice)
  • 1 tsplemon zest (from the lemon above)
  • 400 gcanned diced tomatoes, drained
  • 2 tspfresh thyme leaves (or 3/4 tsp dried)
  • 2 tspfresh rosemary, finely minced (or 3/4 tsp dried)
  • 20 gfresh flat-leaf parsley, roughly chopped, plus extra to serve
  • 1 tspsmoked paprika
  • 0.5 tspred pepper flakes
  • 1 tspDijon mustard
  • 0.5 tspfreshly ground black pepper
  • Fine sea salt to taste
  • Lemon wedges, to serve

Instructions

🔧 Equipment

🍳Large heavy-bottomed skillet or wide braiser (30cm)
🍳Oven-safe cast iron or stainless steel skillet
🐢Slow cooker (5 to 6 litre capacity)
♨️Instant Pot or electric pressure cooker (6 litre)
🔪Chef’s knife
🪵Cutting board
🧀Microplane or fine zester
🍋Citrus juicer
🌡️Instant-read thermometer
🥄Wooden spoon or silicone spatula
🍳Aluminium foil
🥢Tongs




Prep: 15 minutes
Cook: 25 minutes
Total: 40 minutes
A wide, heavy-bottomed skillet or braiser is important here; you need enough surface area to lay the cod fillets flat without overlapping so they poach evenly in the bean broth.
  1. Season the cod fillets generously on both sides with sea salt and black pepper. Set aside at room temperature while you build the bean base, about 10 minutes.
  2. Heat 2 tablespoons of olive oil in a large (30cm) heavy-bottomed skillet or wide braiser over medium heat. Add the diced onion and a pinch of salt. Cook, stirring occasionally, for 6 to 7 minutes until softened and translucent. Add the sliced garlic, smoked paprika, red pepper flakes, thyme, and rosemary. Cook for 90 seconds, stirring constantly, until the garlic is fragrant and just starting to turn golden at the edges.
  3. Add the drained tomatoes and cook for 3 minutes, pressing them gently with a spoon to break them up slightly and concentrate their flavor. Stir in the broth, lemon juice, lemon zest, and Dijon mustard. Bring the mixture to a gentle simmer.
  4. Add the rinsed cannellini beans and stir to combine. Use the back of your spoon to lightly crush about one-quarter of the beans against the side of the pan. This releases their starch and creates a naturally creamy sauce without any added thickener. Simmer the bean mixture for 5 minutes to meld the flavors. Taste and adjust salt.
  5. Reduce the heat to medium-low so the liquid is barely simmering. Nestle the cod fillets into the bean mixture, spooning a little of the broth over the top of each fillet. Cover the skillet with a tight-fitting lid and cook for 8 to 10 minutes, depending on the thickness of the fillets, until the cod is just opaque and flakes easily when pressed with a fork. Do not lift the lid before 8 minutes. Residual steam is doing critical work.
  6. Remove from the heat. Drizzle with the remaining 1 tablespoon of olive oil, scatter the chopped parsley over the top, and let rest uncovered for 2 minutes before serving directly from the pan with lemon wedges.
Prep: 15 minutes
Cook: 2 to 2.5 hours on Low
Total: 2 hours 45 minutes
Do not use the High setting for this recipe. Cod is delicate and will turn rubbery if cooked too aggressively. Low and slow ensures it stays moist and tender. The beans and aromatics go in first and cook for 1.5 hours before the fish is added.
  1. Combine the diced onion, sliced garlic, drained cannellini beans, drained tomatoes, broth, lemon juice, lemon zest, smoked paprika, red pepper flakes, thyme, rosemary, Dijon mustard, 2 tablespoons of olive oil, 0.5 teaspoon of salt, and the black pepper in the slow cooker insert. Stir thoroughly to combine. Do not add the cod yet.
  2. Cover and cook on Low for 1.5 hours. This first stage allows the aromatics to bloom in the slow environment and the beans to begin releasing their starch into a lightly thickened base. After 1.5 hours, use the back of a spoon to gently crush roughly one-quarter of the beans against the side of the insert to add creaminess.
  3. Season the cod fillets on both sides with salt and pepper. Lay them in a single layer on top of the bean mixture, pressing them down gently so they are about half-submerged in the liquid. Replace the lid quickly to retain heat.
  4. Cook on Low for a further 45 to 60 minutes. The cod is done when it is completely opaque and separates into clean flakes when you apply gentle pressure with a spoon. Because slow cookers vary in temperature, begin checking at the 40-minute mark by inserting an instant-read thermometer into the thickest part of the fillet; you are looking for an internal temperature of 63 degrees Celsius (145 degrees Fahrenheit).
  5. Turn off the slow cooker. Drizzle the remaining tablespoon of olive oil over the fillets, scatter generously with chopped parsley, and let the dish rest with the lid ajar for 5 minutes before serving. This rest allows the carry-over heat to equalize without overcooking. Serve directly from the insert with lemon wedges.
Prep: 15 minutes
Cook: 3 minutes at High Pressure
Total: 25 minutes
Three minutes may seem shockingly short, but pressure dramatically accelerates heat transfer into delicate fish. A quick-release is non-negotiable; a natural release will overcook the cod. Use a steamer basket or a folded sheet of foil as a sling to lift the fillets out cleanly.
  1. Set the Instant Pot or electric pressure cooker to Saute mode on Normal heat. Add 2 tablespoons of olive oil. Once shimmering, add the onion and cook for 4 minutes until softened. Add the garlic, smoked paprika, red pepper flakes, thyme, and rosemary. Saute for 60 seconds until fragrant. Press Cancel to turn off the Saute function.
  2. Add the drained tomatoes, broth, lemon juice, lemon zest, Dijon mustard, a generous pinch of salt, and the black pepper to the pot. Stir to combine, scraping any browned bits from the bottom of the pot to prevent a burn warning. Add the rinsed cannellini beans and stir to distribute evenly.
  3. Lightly season the cod fillets with salt and pepper. Cut a sheet of foil large enough to create a loose, sealed parcel around all four fillets. Place the seasoned fillets in the center of the foil, drizzle with the remaining tablespoon of olive oil, and fold the edges up and over to create a sealed pouch. This prevents the high-pressure steam from disintegrating the delicate fish and keeps it in intact pieces. Lower the foil pouch directly onto the surface of the bean mixture.
  4. Secure the lid and set the pressure valve to Sealing. Cook on Manual High Pressure for 3 minutes. As soon as the timer completes, immediately perform a Quick Release by carefully turning the valve to Venting. Wait for all steam to escape before opening the lid.
  5. Open the lid away from you to avoid the steam. Carefully lift the foil parcel out of the pot using tongs or the foil edges. Open the parcel over the pot to let any accumulated juices run back into the beans. Nestle the cod portions into the bean mixture for plating, scatter with parsley, and serve immediately with lemon wedges.
Prep: 15 minutes
Cook: 25 to 28 minutes
Total: 40 minutes
This method produces the most beautifully finished result, with a slightly roasted top on both the cod and the beans. Use an oven-safe skillet or baking dish that can go from stovetop to oven, which reduces washing up and builds more flavor through the initial saute.
  1. Preheat your oven to 200 degrees Celsius (400 degrees Fahrenheit) with a rack positioned in the center. Pat the cod fillets dry and season on both sides with salt and pepper. Let them sit at room temperature while you prepare the base.
  2. Heat 2 tablespoons of olive oil in a large oven-safe skillet (cast iron or stainless steel) over medium-high heat on the stovetop. Add the onion and cook for 5 minutes until softened. Add the garlic, smoked paprika, red pepper flakes, thyme, and rosemary and cook for 60 to 90 seconds, stirring, until fragrant.
  3. Add the drained tomatoes and cook for 2 minutes to concentrate slightly. Pour in the broth, lemon juice, lemon zest, and Dijon mustard. Stir in the cannellini beans with a generous pinch of salt and black pepper. Bring the mixture to a simmer and cook for 4 minutes. Crush about a quarter of the beans with the back of a spoon to thicken the base. The mixture should look saucy but not watery; if it seems thin, let it reduce for another 2 minutes.
  4. Remove the skillet from the heat. Lay the seasoned cod fillets on top of the bean mixture in a single layer, pressing them gently into the surface. Drizzle the remaining tablespoon of olive oil evenly over the fillets.
  5. Transfer the skillet to the preheated oven and bake uncovered for 15 to 18 minutes, until the cod is opaque throughout, the surface has a slight golden blush from the oven heat, and an instant-read thermometer inserted into the thickest fillet reads 63 degrees Celsius (145 degrees Fahrenheit). The beans at the edges of the pan will caramelize slightly, adding depth to the dish.
  6. Remove from the oven and rest for 3 minutes. The uncovered oven method allows a small amount of surface moisture to evaporate, concentrating the flavors in the bean base. Scatter generously with chopped parsley and serve directly from the skillet with lemon wedges alongside.

Nutrition Breakdown

Per 1 serving (makes 4)

422Calories
52gProtein
38gCarbs
9gFat
18gFiber

Glycemic Load11Medium
Low0–10
Medium11–19
High20+
The cannellini beans (estimated GI 31) are the primary carbohydrate source; their high resistant starch and soluble fiber content significantly blunts the glycemic response, placing the per-serving GL at the low end of the medium range at approximately 11.

% Daily Value based on a 2,000 calorie diet (FDA reference)

Vitamin B122.1mcg
Selenium62mcg
Folate220mcg
Phosphorus610mg
Potassium1380mg
Iron5.8mg
Magnesium110mg
Vitamin C22mg
Zinc2.9mg
Vitamin B60.75mg

% of recommended daily intake (RDA) per serving

Leucine4820mg
Lysine4650mg
Isoleucine2780mg
Valine2940mg
Threonine2360mg
Phenylalanine2680mg
Histidine1520mg
Tryptophan680mg
Methionine1840mg

🛡 Antioxidant Profile

Selenium62mcgA trace mineral antioxidant that activates glutathione peroxidase, the body’s primary cellular defense enzyme, sourced almost entirely from the cod in this dish.
Lycopene4.8mgA carotenoid in the canned tomatoes linked to reduced oxidative stress and lower cardiovascular disease risk.
Vitamin C22mgProvided by the lemon juice and parsley; directly neutralizes free radicals and regenerates vitamin E in cell membranes.
Apigenin and LuteolinFlavone compounds concentrated in fresh parsley with documented anti-inflammatory and neuroprotective activity.
Rosmarinic acidA polyphenol ester found in rosemary and thyme that inhibits lipid peroxidation and has demonstrated antiviral and anti-inflammatory properties.
Beta-carotene0.6mgPresent in the parsley and tomatoes; converted to vitamin A as needed and protects lipids and DNA from oxidative damage.

Complete your day: Pair a serving of this dish with a side of lightly steamed broccoli (100g) and a small bowl of plain whole-milk Greek yogurt with berries at breakfast to close the remaining gaps: the broccoli adds vitamin K and additional vitamin C, while the yogurt contributes the calcium and vitamin D this otherwise very complete dish lacks.

The Nutrition Science

Cod is one of the leanest high-quality protein sources in the human diet, delivering approximately 20 grams of complete protein per 100 grams at under 90 calories and less than 1 gram of fat. Its amino acid profile is particularly notable for its lysine content, an essential amino acid chronically under-supplied in grain-heavy diets, as well as its taurine concentration, which supports bile acid synthesis and cardiovascular health. Crucially, cod is one of the richest dietary sources of selenium, a trace mineral that serves as the structural backbone of the selenoprotein family, including glutathione peroxidase and thioredoxin reductase, two enzymes central to managing oxidative stress at the cellular level. A single 170-gram fillet provides roughly 100% of the adult selenium RDA.

Cannellini beans bring a complementary nutritional architecture to the dish. Their soluble fiber, primarily in the form of beta-glucan and pectin, forms a viscous gel in the small intestine that mechanically slows glucose and cholesterol absorption, directly lowering postprandial blood sugar and LDL cholesterol levels. Their resistant starch fraction passes to the colon intact, where it is fermented by Bifidobacterium and Lactobacillus species into short-chain fatty acids, particularly butyrate, the preferred fuel of colonocytes and a potent suppressor of colonic inflammation. This two-stage carbohydrate digestion is what keeps the glycemic load of this dish moderate despite a reasonable carbohydrate count per serving.

The lemon juice in the recipe serves a biochemical function beyond flavor. Ascorbic acid reduces dietary non-heme iron from the less bioavailable ferric (Fe3+) state to the readily absorbed ferrous (Fe2+) state, significantly enhancing iron absorption from both the cannellini beans and the cod. Research suggests that consuming 25mg of vitamin C alongside a non-heme iron source can increase absorption by two to four times. The olive oil finish enhances the bioavailability of the fat-soluble carotenoids, specifically lycopene from the tomatoes and beta-carotene from the parsley, since these compounds require dietary fat for micellar incorporation and transport across the intestinal epithelium.

Pro Tips

  • For the absolute best texture across all methods, bring your cod fillets to room temperature for at least 10 minutes before cooking. Cold fish straight from the refrigerator cooks unevenly, leaving the outer layers overdone before the center reaches temperature.
  • If your cod fillets vary significantly in thickness, use a sharp knife to cut the thinner tail sections slightly thicker by folding them under themselves and securing with a toothpick. This prevents thin pieces from turning dry and chalky before the thicker pieces are cooked through.
  • Frozen cod works beautifully in this recipe, especially in the slow cooker and pressure cooker methods, but thaw it fully in the refrigerator overnight and pat it very dry with paper towels before seasoning. Excess surface moisture steams the fish rather than allowing it to cook properly in the bean broth.

6 thoughts on “Lemon Herb Baked Cod with White Beans: 52g Protein, High Fiber, and Full B-Vitamin Coverage in One Pan”

  1. this looks amazing but im curious about the net carb count on those white beans – i know theyre higher in fiber which is great, but are we looking at like 15-20g net carbs per serving? ive found that swapping even half the beans for mushrooms or keeping portions smaller has helped me stay in ketosis while still getting that protein and fiber hit, and honestly the cod is the real star here anyway so it might be worth experimenting with if anyone’s watching their carb intake like i do

    Log in or register to reply
    • Kurt’s got a solid point on the math here, and I appreciate the practical thinking. You’re right that swapping half the beans for mushrooms keeps you in ketosis while preserving fiber, though I’d note you’re trading off some meaningful micronutrients (the folate and potassium especially) that don’t show up on a macro label. From a metabolic standpoint, both approaches work, it just depends what you’re optimizing for – pure glucose control versus long-term cardiovascular markers. The cod really is the anchor of this dish though, so honestly either version gets you the selenium and B12 that most people are frankly deficient in.

      Log in or register to reply
  2. I’m genuinely glad to see this framed around the B12 and selenium angle, because that’s what gets overlooked when people fixate on protein grams alone. Two decades in the ICU taught me that most folks eating “enough protein” are actually chronically low on folate and B12, which shows up later as cognitive decline or elevated homocysteine. The cannellini beans here are doing real metabolic work beyond just fiber. Kurt, for what it’s worth, if someone’s genuinely in a tight carb window, swapping half the beans for more cod actually keeps the micronutrient density higher per calorie, though you lose the prebiotic benefit. This recipe as written though?

    Log in or register to reply
    • This is such an important callout, especially the homocysteine angle – I’ve started tracking my folate and B12 more intentionally during perimenopause because I realized my brain fog wasn’t just hot flashes, it was actual micronutrient gaps even though I thought my protein intake was fine. The white beans here are doing exactly what I need right now: that combo of folate, B12, and the magnesium in cannellini actually helps with both bone density and sleep quality, which feels like a win when you’re navigating hormonal shifts. And yeah, the prebiotic fiber from the beans is legitimately worth keeping if someone can manage the carbs, because my gut microbi

      Log in or register to reply
  3. Hey Kurt, great question! White beans are definitely higher in carbs overall, but that fiber content actually makes them really manageable – you’re looking at closer to 12-15g net carbs depending on portion size, which is pretty reasonable. I’ve found them way gentler on my system than I expected, especially when paired with the selenium and zinc from the cod, since those minerals help with glucose regulation. If you’re strict with net carbs though, swapping in some of those white beans for lentils or even chickpeas could work, though you’d lose some of that creamy texture that makes this dish so satisfying!

    Log in or register to reply
    • This is such a perfect teaching moment about methylation support, actually, and I think you’re touching on something most people miss: the white beans here are doing way more than just fiber work. Those beans are loaded with folate and choline, which are methylation donors, so you’re essentially programming your one-carbon metabolism pathway while you eat. I’ve been experimenting with this exact pairing in my own diet, and I noticed my energy stability improved significantly once I stopped seeing beans as just a “carb swap” and started thinking about them as epigenetic modulators. The selenium from cod amplifies that effect, since it’s critical for selenoprotein synthesis which protects your methylation machinery. So here’s what

      Log in or register to reply

Leave a Comment