Introduction
I didn’t plan this one. It was one of those evenings where the halibut was already thawed, sitting in the fridge, and I had maybe forty minutes before everyone started hovering around the kitchen asking what was for dinner. That’s honestly how this Halibut and Creamy White Beans dinner came together the first time. Much like my go-to creamy tuna salad sandwich for a quick lunch, this recipe relies on simple pantry staples. A can of white beans, some leftover broth, a little garlic, and a piece of fish that deserved better than being rushed.
There’s something about white beans and fish that just works. The beans go soft and almost silky when you cook them down with a little cream and broth, and halibut — that firm, clean-tasting white fish — sits right on top like it was always meant to be there. This easy halibut and creamy white beans combination has become one of those recipes I come back to when I want something that feels like real food. Not fancy. Just good.
If you’ve never cooked halibut at home before, don’t let it intimidate you. It’s actually one of the more forgiving white fish once you understand a couple of small things about it. And the beans do a lot of the heavy lifting in terms of flavor and texture.
Why You’ll Love This Recipe
- It comes together fast — we’re talking about 35 minutes start to finish, even on a weeknight when you’re tired and not really in the mood to cook.
- The flavor is genuinely satisfying — the beans soak up all the garlicky, lemony, herby broth and turn into something that tastes way more involved than it actually is.
- Anyone can make it — no special skills, no fancy equipment. Just a pan, a spatula, and a little patience with the fish.
Quick Recipe Snapshot
Quick Recipe Snapshot
| ⏱ Prep Time | 15 minutes |
| 🍳 Cook Time | 20 minutes |
| 🕐 Total Time | 35 minutes |
| 🍽 Servings | 4 |
| 📊 Difficulty | Easy |
| 🔥 Calories | ~350 kcal per serving |
Ingredients List
For the Fish:
- 4 halibut fillets (about 6 oz each) — fresh is best, but thawed frozen works just fine
- 1 tablespoon olive oil
- ½ teaspoon kosher salt
- ¼ teaspoon black pepper
- ½ teaspoon smoked paprika — just a little, gives the sear a nice color
For the Creamy White Beans:
- 2 cans (15 oz each) cannellini beans, drained and rinsed — these go creamy without any fuss
- 4 cloves garlic, minced
- 1 small shallot, finely diced
- 1 cup chicken or vegetable broth — this is what loosens everything up into a sauce
- ¼ cup heavy cream — just enough to make the beans feel luxurious without being heavy
- 1 tablespoon butter
- 1 tablespoon olive oil
- 1 teaspoon fresh thyme leaves (or ½ teaspoon dried)
- Zest of 1 lemon plus 1 tablespoon juice
- Salt and pepper to taste
To Finish:
- Fresh parsley, roughly chopped
- Lemon wedges for serving
- Optional: a pinch of red pepper flakes
Step-by-Step Instructions
- Pat the halibut dry. This is the one step people skip and then wonder why the fish sticks or steams instead of sears. Use a paper towel and press it gently on both sides. Then season with salt, pepper, and smoked paprika.
- Start the beans first. Heat olive oil and butter together in a wide skillet over medium heat. Add the shallot and cook for about 2 minutes until it softens. Add the garlic and stir for another 30 seconds — just until it smells good, not until it browns.
- Add the beans and broth. Pour in the drained beans and broth. Stir gently and let it come up to a low simmer. Add the thyme. Let it cook for about 5 minutes, stirring occasionally. You’ll notice the beans start to break down a little at the edges — that’s what you want.
- Stir in the cream and lemon. Add the heavy cream, lemon zest, and lemon juice. Stir and taste. Adjust salt. The beans should feel saucy, not soupy. If it looks too thick, add a splash more broth. If it looks too thin, let it bubble for another minute or two.
- Sear the halibut. In a separate nonstick or cast iron pan, heat a tablespoon of olive oil over medium-high heat until it shimmers. Lay the halibut fillets in carefully. Don’t move them. Cook for 3–4 minutes on the first side until you see the edges turning opaque and a golden crust forming on the bottom. Flip once and cook another 2–3 minutes depending on thickness. Halibut is done when it flakes easily with a fork but still looks moist in the center. (I always check the thickest part — if it still looks translucent, give it another minute.)
- Plate it up. Spoon the creamy beans into shallow bowls or onto plates. Lay a halibut fillet right on top. Scatter some parsley over everything, add a lemon wedge on the side, and if you like a little heat, a pinch of red pepper flakes goes a long way here.
Small Tricks From Cooking Fish at Home
Speaking of getting a great sear, the pan you use makes all the difference. For this halibut, I always reach for my Lodge Cast Iron Skillet. It gets screaming hot and holds that heat evenly, which is the real secret to forming that beautiful golden-brown crust we talked about. It completely eliminates the risk of steaming the fish and gives you that professional, crispy finish every single time.
This skillet is a true kitchen workhorse that will last a lifetime. If you’re ready to take your searing game to the next level, I can’t recommend it enough.
Lodge 10.25 Inch Cast Iron Skillet with Assist Handle
✓ prime
We earn a commission if you make a purchase, at no additional cost to you.

The biggest thing I’ve learned over the years is that dry fish sears, wet fish steams. If there’s any moisture sitting on the surface of your halibut when it hits the pan, you’re going to get that sad gray color instead of a golden crust. Pat it dry every single time.
Don’t crowd the pan. I made that mistake once with four fillets in a pan that was really only big enough for two. They all steamed together and came out pale and a little rubbery. Use two pans if you need to, or cook in batches.
Cannellini beans are the right call here. I’ve tried navy beans and great northern beans in this dish and they both work, but cannellini have that buttery texture that breaks down just slightly at the edges and thickens the sauce naturally. It’s a small thing but it matters.
Let the beans sit on low heat while you cook the fish. They actually get better the longer they sit in that broth and cream mixture. The flavors settle in. Just keep it on the lowest setting so nothing scorches on the bottom.
One thing I learned the hard way — don’t add the lemon juice too early. If you put it in before the cream, it can make the sauce look a little curdled. Add it after the cream is already in and everything is warm. It comes together much smoother that way.
Common Mistakes to Avoid
Overcooking the halibut is the most common one. Halibut is lean, which means it dries out fast. The moment it flakes and looks opaque through most of the fillet, pull it off the heat. It keeps cooking a little even after it leaves the pan.
Using cold fish straight from the fridge. I know it sounds like a small thing, but if your fillet is ice cold when it hits a hot pan, the outside cooks way faster than the inside. Pull the fish out about 10 minutes before you plan to cook it and let it come closer to room temperature.
Skimping on the broth in the beans. If you try to rush the bean step and don’t let them simmer long enough in the broth, they stay a little chalky and separate. They need that time to absorb the liquid and soften into something that actually tastes like a sauce.
Not tasting the beans before plating. Canned beans can be pretty bland on their own. The garlic, thyme, lemon, and salt are doing a lot of work here. Taste before you plate and adjust. Sometimes it just needs a little more salt or another squeeze of lemon to wake everything up.
Variations and Serving Ideas
Spicy version: Add a full teaspoon of red pepper flakes to the beans while they’re cooking, and finish with a drizzle of chili oil right before serving. The heat plays really well against the creaminess of the beans.
Mild version: Skip the paprika on the fish and use a little more lemon zest instead. Add a handful of baby spinach into the beans in the last two minutes of cooking — it wilts right in and keeps everything gentle and fresh-tasting.
Coastal twist: Stir a tablespoon of white wine into the beans right after the garlic and shallot step. Let it cook off for a minute before adding the broth. It gives the whole dish a slightly briny, coastal depth that feels like you’re eating somewhere near the water.
What to Serve With
Crusty bread is the obvious answer and honestly the right one. The bean sauce is too good to leave in the bowl. A thick slice of sourdough or a toasted baguette on the side handles that perfectly. If you’re looking for a different kind of hearty meal, a Southern classic like shrimp and sausage dirty rice is another fantastic option to try.
A simple green salad with a sharp vinaigrette cuts through the richness of the cream nicely. Something with arugula and shaved parmesan works well — the bitterness balances out the soft, buttery beans.
If you want to make it a bigger meal, roasted cherry tomatoes on the side add a little sweetness and color. Just toss them in olive oil, salt, and pepper and roast at 400°F for about 15 minutes while you’re cooking everything else.
Storage and Reheating
The beans store really well. Put them in an airtight container in the fridge and they’ll be good for up to 3 days. They actually thicken up overnight, so when you reheat them, add a splash of broth or water to loosen them back up. Low heat, slow stir.
The halibut is a different story. DO NOT reheat halibut in the microwave. It turns rubbery and starts to smell in a way that’s not pleasant. If you have leftover fish, the best move is to eat it cold, flaked over the reheated beans like a kind of warm grain bowl situation. It actually works really well.
DO NOT freeze the cream-based bean sauce. The cream breaks when it freezes and thaws, and you end up with something grainy and separated that no amount of stirring will fix.
Leftover halibut is best used within 24 hours. After that, the texture really starts to go downhill.
FAQs (People Also Ask)
Can I use frozen halibut for this recipe?
Yes, absolutely. Just make sure it’s fully thawed before you cook it. The best way is to leave it in the fridge overnight. If you’re in a hurry, seal it in a zip-lock bag and run cold water over it for about 20 minutes. Never thaw fish in warm water — it starts to cook the outside unevenly.
How do I know when the halibut is done?
The easiest way is to press the thickest part gently with a fork. If it flakes apart easily and looks opaque all the way through, it’s done. If there’s still a translucent, raw-looking center, give it another minute. For thick fillets, internal temperature should be around 130–135°F if you’re using a thermometer.
Can I substitute the halibut with another fish?
Yes. Cod works really well here and is usually cheaper. Mahi-mahi is another good option if you want something with a little more texture. Tilapia will work in a pinch but it’s a much thinner fillet so watch the cook time — it’ll be done in about 2 minutes per side.
Can I make the white beans ahead of time?
Definitely. The beans can be made up to 2 days ahead and stored in the fridge. Reheat them gently on the stove with a splash of broth before serving. The fish should always be cooked fresh — don’t try to make that ahead.
How long does this whole recipe take?
About 35 minutes from start to finish. The beans take around 15 minutes of actual cooking time, and the fish takes less than 10 minutes. If you prep your ingredients before you start cooking — garlic minced, shallot diced, fish patted dry — it goes even faster.
Nutrition Facts
(Per serving. Estimates only, varies by exact ingredients used)
Conclusion
Some recipes feel like they belong to a specific place or a specific evening. This one always takes me back to that first unplanned night — the halibut thawing on the counter, the beans sitting in the pantry, the smell of garlic and thyme filling up the kitchen while the sun was going down somewhere behind the water.
It’s not a complicated dish. It doesn’t need to be. The coast has always had a way of making simple things feel like enough.

Halibut & Creamy White Beans
Ingredients
- 4 halibut fillets (about 6 oz each)
- 1 tablespoon olive oil (for fish)
- 1/2 teaspoon kosher salt
- 1/4 teaspoon black pepper
- 1/2 teaspoon smoked paprika
- 2 cans (15 oz each) cannellini beans, drained and rinsed
- 4 cloves garlic, minced
- 1 small shallot, finely diced
- 1 cup chicken or vegetable broth
- 1/4 cup heavy cream
- 1 tablespoon butter
- 1 tablespoon olive oil (for beans)
- 1 teaspoon fresh thyme leaves
- Zest of 1 lemon
- 1 tablespoon fresh lemon juice
- Salt and pepper to taste
- Fresh parsley, roughly chopped
- Lemon wedges for serving
- Pinch of red pepper flakes (optional)
Instructions
- Pat the halibut fillets completely dry with paper towels. Season both sides with salt, pepper, and smoked paprika. Set aside.
- Heat 1 tablespoon olive oil and butter in a wide skillet over medium heat. Add the diced shallot and cook for 2 minutes until softened. Add the minced garlic and stir for 30 seconds until fragrant.
- Add the drained cannellini beans and broth to the skillet. Stir gently and bring to a low simmer. Add the thyme. Cook for 5 minutes, stirring occasionally, until the beans begin to soften at the edges.
- Stir in the heavy cream, lemon zest, and lemon juice. Taste and adjust salt. The beans should be saucy but not soupy. Add a splash more broth if needed or simmer another minute to thicken.
- In a separate nonstick or cast iron pan, heat 1 tablespoon olive oil over medium-high heat until shimmering. Add the halibut fillets and cook undisturbed for 3 to 4 minutes until a golden crust forms on the bottom.
- Flip the halibut once and cook for another 2 to 3 minutes until the fish flakes easily with a fork and looks opaque through the thickest part.
- Spoon the creamy white beans into shallow bowls or onto plates. Place a halibut fillet on top. Garnish with fresh parsley, a lemon wedge, and optional red pepper flakes. Serve immediately.







