This creamy one-pan salmon and beans recipe is one of my most-loved dinners—and for good reason. It went viral on social media and has been recreated by so many of you, with hundreds of rave reviews. I think I know why: it’s quick, comforting, and ticks all the boxes for a healthy midweek meal. You only need one pan, it’s ready in under 20 minutes, and it’s packed with everything your body needs—lean protein, fibre, and omega-3 healthy fats from the salmon.

This is the kind of meal that makes you feel great after eating. The light coconut cream adds a rich, velvety texture, while sun-dried tomatoes and garlic bring big flavour with minimal effort. Whether you’re trying to add more omega-3s to your diet, eat fewer refined carbs, or just want a balanced dinner that’s quick to make, this recipe is definitely one to keep in your weekly rotation.
Why This One-Pan Salmon Dish Is the Perfect Balanced Meal
This dish is the perfect meal because it ticks every box for a balanced, nourishing, and satisfying dinner—all made in just one pan:
- High in protein: Salmon provides complete, high-quality protein to support muscle health and keep you full for longer.
- Rich in omega-3 fats: As recommended by the NHS and U.S. National Institutes of Health (NIH), oily fish like salmon are a key part of a heart-healthy diet.
- High in fibre: Cannellini beans add plant-based protein and gut-friendly fibre, supporting digestion and stable energy.
- Packed with flavour: Sun-dried tomatoes, garlic, and creamy coconut milk create a delicious, comforting sauce with minimal effort.
- Low in carbs: A great choice if you’re looking to reduce refined carbs without missing out on satisfaction.
- Quick and easy: Ready in under 20 minutes with minimal washing up. Ideal for busy weeknights.
This is the kind of meal that makes healthy eating feel easy and enjoyable—one pan, loads of flavour, and everything your body needs in one go.

Why It’s So Good For You
This creamy one-pan salmon and beans recipe isn’t just delicious—it’s packed with nourishing ingredients that your body will love. Salmon is one of the best sources of omega-3 fatty acids, which are essential for heart, brain, and joint health. According to the NHS, we should aim to eat oily fish like salmon at least once a week, as these healthy fats can help lower the risk of heart disease.
Cannellini beans provide gut-friendly fibre and a boost of plant-based protein, helping you feel full and satisfied for longer. Spinach and garlic add an extra layer of nutrition, packed with antioxidants, iron, and immune-supporting compounds.
With lean protein, healthy fats, and fibre all cooked in one pan, this quick and easy dinner is a balanced, wholesome option that comes together in under 20 minutes.
Step-By-Step Instructions
Step 1 – In a pan cook onion and garlic until soften. Step 2 – Set onion aside to allow space for the salmon. Step 3 – Add the salmon fillets to the pan and sear for each side until lightly golden. Step 4 – Add the coconut milk. Step 5 – Add chopped sun-dried tomatoes and season with salt and pepper. Step 6 – Add the spinach and let it soften. Step 7 – Add the cannellini beans and let them warm up.
Tips
- Don’t overcook the salmon: For juicy, flaky salmon, cook the fillets until just pink in the middle—remember they’ll finish cooking while the coconut cream simmers. This keeps the fish tender and prevents it from drying out.
- Use light coconut cream: Light coconut cream adds richness without being too heavy. You still get the velvety sauce texture but with fewer calories and saturated fats than full-fat versions.
- Drain and rinse the beans well: Canned beans are super convenient, but make sure to rinse them to remove excess salt and help the flavours come through better.
- Add the beans at the end: Cannellini beans are soft and don’t need long to heat up. Adding them at the end keeps them whole and creamy, not mushy.
- Boost the omega-3 content: You can swap salmon fillets with mackerel or trout—both oily fish that are rich in omega-3 fatty acids and heart-healthy fats.
- Make it your own: Stir through fresh herbs like dill or parsley before serving for a flavour lift, or add a squeeze of lemon to brighten the whole dish.
- Meal prep friendly: This creamy salmon and beans dish keeps well in the fridge, making it great for leftovers or make-ahead dinners.

Swaps
Salmon: You can use mackerel or trout for a similar omega-3 boost, or swap for chicken breast if you prefer a non-fish option (though it won’t have the same healthy fat content).
Light coconut milk: Use single cream or crème fraîche if you’re not dairy-free. For a lower-fat option, try light coconut milk, but the sauce will be slightly thinner.
Cannellini beans: Butter beans or chickpeas work just as well. They’re high in fibre and add a creamy texture too.
Spinach: Swap with kale or Swiss chard—just chop finely and cook slightly longer as they’re a bit tougher.
Sun-dried tomatoes: Roasted red peppers or chopped cherry tomatoes can add a similar pop of flavour and colour.
Garlic and onion: Use garlic powder and onion powder if you’re short on time or fresh ingredients.
Storage
Fridge: Store leftovers in an airtight container for up to 2 days. Reheat gently in a pan or microwave until hot through—avoid overcooking the salmon to keep it tender.
Freezer: This recipe can be frozen, but the texture of the sauce may change slightly once defrosted. Freeze in portions for up to 1 month. Defrost in the fridge overnight before reheating.
More One-Pan Dinners
- Easy One-Pan Chicken & Rice
- One-Pan Marry Me Pasta
- One-Pot Tuscan Rigatoni
- One-Pan Asparagus & Peas Cod

Creamy Salmon and Beans (One-Pan, High Protein, Ready in 20 Minutes)
Video
Ingredients
- 2 salmon fillets, 240g, skinless
- 1 yellow onion, finely chopped
- 1 cloves of garlic, finely chopped
- 6 sundried tomatoes, chopped
- 1 handful spinach
- 240 g light coconut milk, (from a can)
- 1 can cannellini beans, (400g can, 240g drained)
- salt & pepper, to taste
Instructions
- Add a drizzle of oil to a non-stick pan.
- Cook the onion and garlic until soft, then add the salmon.
- Once the salmon is cooked on both sides but still slightly pink in the middle, pour in the coconut milk, sun-dried tomatoes, salt, and stir in the spinach.
- Let everything simmer gently so the milk reduces — the salmon will finish cooking at the same time.
- When the sauce thickens, add the beans for the final minute just to warm them through.
- Serve immediately while the sauce is creamy and the salmon is perfectly tender.
Notes
- This creamy salmon and beans recipe is naturally gluten-free, dairy-free, and low in carbs—making it a healthy, balanced meal you can whip up in under 20 minutes.
- It’s high in protein and rich in omega-3 thanks to the salmon, while the beans add fibre to help keep you full and satisfied.
- Using light coconut cream gives the dish a velvety texture without being too heavy—perfect for a comforting but nourishing dinner.
- Everything cooks in just one pan, so there’s minimal mess and clean-up, making it ideal for busy weeknights.
- Let the sauce thicken gently before adding the beans at the end so they warm through without breaking down.







Thanks so much for trying it! The recipe actually calls for coconut milk. If you used coconut cream, that explains it—it’s much richer and more concentrated, which makes it taste a lot sweeter. If you’d like to try again, using coconut milk should give you a lighter balance and I think you are going to love it! 😊
Tried this with light coconut milk, but thought the light coconut milk was still not to my liking. Made a second time, replacing it with heavy cream and it was very good. I know this was not as healthy, but you have to enjoy life now and then, right?
I’m so glad you enjoyed it with the heavy cream, it must have turned out extra rich and comforting!
Hello 😊 Thank you for you comment, it is ligh coconut milk I have used for this recipe. I hope you’ll try it soon, enjoy 🤗
When do you add the sun dried tomatoes??
Hi Lauren, it goes in with the coconut milk. There is step-by-step instructions in my blog with photos for each step, I hope that helps! 😊
Hi Flo! I would love to make this but I really don’t like the taste of coconut. What would I be able to replace it with besides heavy cream (something a little healthier). Oat milk? Regular cow’s milk? Thanks so much!
Hi Juliana, thank you for you comment! Absolutely — if you’re not a fan of coconut, single cream is the best direct substitute here. It gives the same creamy result without overpowering the flavour. If you decide to use milk or oat milk, you’d need to add a thickener like cornflour (cornstarch in the US). I’d recommend mixing it separately first to avoid any lumps. That said, for the easiest and best result, I’d definitely go with single cream. Single cream keeps things simple, balanced and still feels like a “lighter” option compared to heavy cream 😊
Hope that helps — let me know if you give it a try! Flo
Hi Florencia. Could you add Samphire to this too and if so at which point would you add it to the pan?
Hi! Yes, you can definitely add samphire. I’d add it right at the end, once the salmon is almost cooked and the sauce has come together. Samphire only needs about 2–4 minutes in the pan — just enough to soften slightly but keep its lovely bite. Give it a quick stir through the coconut milk, then serve straight away. It also adds a natural saltiness, so you might want to taste before adding extra salt.