One Pot

Smoked Paprika and Lemon Braised White Fish with Saffron Butter Beans

Tender cod braised over saffron-stained butter beans with smoked paprika and lemon — a one-pot weeknight dinner ready in 50 minutes.

By Brian ·
Be the first to rate!
Smoked Paprika and Lemon Braised White Fish with Saffron Butter Beans

Cod poached directly in a seasoned broth is one of the most reliably good weeknight moves — the fish absorbs everything in the pan while staying impossibly tender, and the beans turn creamy from the liquid they soak up. The technique here is a quick stovetop braise: you build a deeply savory base with smoked paprika, saffron, and canned butter beans, then nestle the fish in and let it finish gently, so it never toughs up or dries out.

Expect a broth that's rich and slightly smoky with a floral undertone from the saffron, beans that are silky and almost stew-like, and fish that flakes at the press of a fork. This works as a fast weeknight dinner with crusty bread, and it scales cleanly for four people from a single wide skillet. If the broth tastes flat after reducing, add a squeeze of lemon before the fish goes in — acid at that stage makes an immediate difference.

↓ Jump to Recipe
🕐 Prep: 15 min | 🔥 Cook: 35 min | ⏱️ Total: 50 min

Ingredients

Servings 4

🛒 Links may earn us a small commission at no cost to you.

🍳

Recommended Gear

12-inch wide straight-sided skillet or shallow braiser with lid
Shop →
Wide flexible fish spatula
Shop →
Small bowl for saffron bloom
Shop →
Microplane or fine grater for zesting
Shop →
Instant-read thermometer
Shop →

🛒 We may earn a small commission at no extra cost to you. We only recommend gear we'd use ourselves.

Instructions

Prep

  1. 1. Combine the saffron threads with 2 tablespoons of warm (not boiling) water in a small bowl and let steep for at least 10 minutes — the liquid should turn a deep amber orange. This step extracts the color and flavor compounds that would otherwise stay locked in the threads.
  2. 2. Pat the cod fillets completely dry with paper towels. Season both sides with 3/4 teaspoon kosher salt, 1/2 teaspoon black pepper, and 1 teaspoon smoked paprika. Set aside at room temperature while you build the base — cold fish dropped into a hot pan braises unevenly.

Build the Base

  1. 1. Heat 2 tablespoons olive oil in the skillet over medium heat until shimmering and the surface ripples, about 90 seconds. Add the diced onion and cook, stirring occasionally, until softened and translucent with golden edges, 7–9 minutes — you should hear a consistent gentle sizzle and the onion will smell sweet rather than sharp.
  2. 2. Add the sliced garlic and red pepper flakes. Stir constantly and cook until the garlic is pale golden and fragrant, about 90 seconds — the moment it smells toasty and nutty, move fast to the next step so it doesn't burn.
  3. 3. Push the aromatics to the edges of the pan and add the tomato paste to the center. Let it cook undisturbed for 60 seconds until it darkens from bright red to a brick-orange and smells slightly caramelized, then stir it into the onions and garlic.
  4. 4. Pour in the white wine and scrape up any browned bits from the bottom of the pan — they'll dissolve into the liquid and add depth. Let the wine reduce by half, about 2 minutes; it should smell like the alcohol has cooked off and leave behind a more concentrated, fruity aroma.
  5. 5. Add the broth, saffron with its soaking liquid, and remaining 1/2 teaspoon smoked paprika. Stir to combine, then add the drained butter beans. Bring to a gentle simmer over medium heat — small bubbles breaking the surface consistently, not a rolling boil. Taste the broth and adjust salt; it should taste seasoned and slightly underseasoned since the fish will absorb some liquid.
  6. 6. Squeeze in 2 tablespoons of lemon juice and stir in the lemon zest. The broth should brighten immediately — if it still tastes dull, add the remaining tablespoon of juice now.

Braise the Fish

  1. 1. Nestle the seasoned cod fillets into the broth, gently pressing them into the beans so they're partially submerged. Drizzle the remaining 1 tablespoon of olive oil over the top of the fillets. Cover the pan with a lid and reduce heat to medium-low.
  2. 2. Cook covered for 10–13 minutes, until the fish is opaque all the way through and flakes easily when pressed with a finger at the thickest point — an instant-read thermometer should read 130–135°F at the center. The fillets will have turned from translucent to a matte, bright white with no glassy center.

Finish and Serve

  1. 1. Remove from heat. Drop in the butter and gently swirl the pan — don't stir vigorously or the fish will break. The butter will melt into the broth and give it a glossy, slightly thickened finish, about 30 seconds.
  2. 2. Scatter the chopped parsley over the pan and finish with flaky sea salt. Serve directly from the skillet with the beans ladled into wide bowls, the fish placed on top, and plenty of crusty bread alongside for the broth.

Cook's Notes

  • Don't skip blooming the saffron — dry saffron threads added directly to the pan release color unevenly and you'll lose half the flavor. Even 5 minutes in warm water is better than nothing.
  • The tomato paste step is non-negotiable for depth: if you skip caramelizing it in the pan, the broth will taste flat and slightly acidic rather than rich.
  • Cod fillets vary widely in thickness — if yours are thinner than 3/4 inch, reduce covered cook time to 7–9 minutes and check early.
  • This dish is intentionally brothy — the beans absorb liquid as they sit, so if you're serving it family-style straight from the pan, get it to the table within 5 minutes of finishing or the beans will drink all the broth.
  • Canned butter beans vary by brand in firmness; Goya holds its shape better than some store-brand options. Rinse them thoroughly to remove excess starch that would cloud the broth.
💡

Pro Tips

  • If the broth reduces too aggressively before the fish finishes cooking — especially with a lid that doesn't seal tightly — add 1/4 cup of warm broth or water and re-cover immediately; don't let the beans dry out and stick.
  • Saffron is sensitive to heat: never add it to a screaming hot pan directly. Always bloom in warm liquid first, and add it during the simmering stage, not the sautéing stage, or the volatile aromatic compounds cook off before they can flavor the dish.
  • The fish is done before it looks done — cod goes from translucent to opaque quickly, and if you wait until it looks fully white through and through on the surface, the center is already overcooked. Use a thermometer or press gently with your finger; it should give with very slight resistance.
  • If the butter breaks and the broth looks greasy rather than glossy when you swirl it in, the pan is too hot. Take it completely off the heat, wait 60 seconds, then add the butter and swirl — residual heat is enough to melt it without breaking the emulsion.
  • Thick fillets with a wide taper (thin on one end, thick on the other) braise unevenly. Fold the thin tail end under the fillet before placing it in the pan — this creates an even thickness and prevents the thin end from overcooking.
  • For maximum flavor, make the bean base through step 8, then cool and refrigerate it. The saffron, paprika, and garlic steep overnight and the next-day base is noticeably more complex — then just reheat, add fresh fish, and braise as directed.

What to Serve With This

A dry, unoaked white wine with good acidity is the right call here. Albariño from Rías Baixas has a saline minerality and stone fruit note that mirrors the saffron without competing with the paprika — grab a bottle of Martín Códax if you want a reliable, widely available option. If you prefer something broader, a white Burgundy or unoaked Chardonnay works too, but avoid anything heavily oaked, which will clash with the lemon.

For non-alcoholic pairings, sparkling water with a wedge of lemon and a few drops of orange bitters keeps the palate clean between bites. A dry ginger lemonade — just fresh lemon juice, a touch of ginger syrup, and soda — echoes the citrus in the broth without sweetening the meal.

Crusty bread is near-mandatory. A bakery sourdough or a baguette handles the saffron-stained broth better than anything else — you want something with a firm crust that won't collapse when dragged through the pan. If you want a vegetable side, keep it simple: a lightly dressed arugula salad with shaved Parmesan and a lemon vinaigrette adds bitterness that cuts the richness of the beans without needing another pot on the stove.

For a heartier spread, serve alongside a small plate of marinated olives and roasted cherry tomatoes. The acidity of the tomatoes reinforces the lemon in the braise and gives the table something to pick at while the fish finishes cooking.

Variations & Substitutions

For a dairy-free version, swap the 2 tablespoons of butter for an equal amount of good-quality extra-virgin olive oil added off-heat at the end. You lose a little richness, but the saffron and smoked paprika carry the dish. If you want more body without butter, stir in a tablespoon of tahini — it adds a nutty creaminess that complements the beans without reading as Middle Eastern in a distracting way.

Halibut or hake work in place of cod and behave almost identically in the braise. Hake is usually cheaper and flakes just as cleanly. Avoid thin tilapia fillets — they overcook before the beans heat through. If you want to make this with shrimp instead, use 1 pound of large (16/20 count) peeled shrimp, add them in the final 4 minutes, and pull the pan the second they turn opaque and curl.

To make this vegetarian, double the butter beans (use two 15-ounce cans total) and add 8 ounces of halved cherry tomatoes with the broth. Increase the braise time to 15 minutes before serving — the tomatoes break down and add body. Finish with a fried egg on top of each bowl if you want protein.

For a spicier profile, add 1/2 teaspoon of crushed Aleppo pepper along with the smoked paprika, or stir in 1 tablespoon of harissa paste with the tomato paste. Either option adds heat that builds slowly rather than hitting upfront.

Frequently Asked Questions

Can I use frozen cod fillets?

Yes, but thaw them completely in the refrigerator overnight before cooking — never add frozen fish directly to the braise or the temperature will drop too sharply and the fish will steam unevenly. Pat the fillets very dry with paper towels before seasoning, since frozen fish releases more surface moisture than fresh.

Can I make this ahead of time?

The bean base can be made up to 2 days ahead and refrigerated — it actually improves as the saffron and paprika steep. Reheat it gently over medium-low, then add the raw fish and proceed from there. Don't try to reheat fully assembled leftovers with fish in them; the fish will overcook and turn rubbery.

How do I store leftovers?

Store the beans and fish separately if possible — the fish continues to firm up in the broth overnight. Refrigerate in airtight containers for up to 2 days. When reheating the fish, do it gently in a covered pan over low heat with a splash of water or broth, just until warmed through, about 3–4 minutes.

Can I freeze this dish?

Freeze the bean base only, not the cooked fish — fish proteins break down poorly in the freezer and become watery and mealy after thawing. Freeze the bean base in a sealed container for up to 2 months, thaw overnight in the fridge, reheat, and cook fresh fish directly in it.

What can I use instead of saffron?

Saffron is doing real work here — it colors the broth and adds a floral depth that smoked paprika alone can't replicate. If you don't have it, add an extra pinch of turmeric (1/4 teaspoon) for color and a small pinch of dried thyme for complexity. It won't be identical, but it won't be flat either.

My broth is too thin. How do I fix it?

Remove the fish to a plate and increase the heat to medium-high, letting the broth simmer uncovered for 3–5 minutes until it reduces to your liking. Return the fish to warm through for 1 minute before serving. Alternatively, mash roughly 1/4 cup of the beans against the side of the pan with a spoon — it thickens the broth naturally without any starch.

Can I use dried butter beans instead of canned?

Yes, but soak 1 cup of dried beans overnight, then simmer them separately until just tender (not fully cooked) before adding to the braise — about 45–55 minutes depending on age of the beans. Fully pre-cooked dried beans will fall apart during the braise. Canned is genuinely the better practical choice for a weeknight.

Can I double this recipe?

Yes, but use a 5-quart wide Dutch oven rather than a skillet so the fish can lie flat in a single layer — crowding the fillets causes them to steam rather than braise and they'll cook unevenly. Increase the broth by 1/2 cup and add 3–4 additional minutes of covered cook time for the fish.

What if my cod falls apart when I try to move it?

Very fresh cod holds together better than fish that's a few days old — check that the fillet is opaque all the way through and then use a wide, flexible fish spatula to transfer it. If it breaks, it's still fully edible; just spoon the fish over the beans and call it rustic. Presentation aside, it tastes exactly the same.

Is there a way to add more vegetables to this dish?

Absolutely. Add 1 cup of thinly sliced fennel with the onion and cook it down the same way — it softens and turns sweet and works naturally with the saffron. Baby spinach can be stirred in right after the fish is done; 2 packed cups will wilt in about 60 seconds from the residual heat. Roasted red peppers (2 tablespoons, roughly chopped) added with the tomato paste also work well.

Enjoyed this recipe?

Daily Home Cookery is self-funded. If something you cooked here made dinner a little better, a coffee keeps the kitchen running.

☕ Buy me a coffee