Love this? Pin it for later!
I first created this recipe during my second Whole30 round when I was desperately craving something that felt restaurant-worthy but still compliant. You know that feeling when you're eating clean but want something that doesn't taste like "diet food"? That's exactly what this dish delivers. The rich, creamy sauce is made entirely from coconut milk and cashews, creating a luxurious texture that rivals any traditional cream sauce.
What makes this recipe truly special is how quickly it comes together. While tuscan-style dishes often feel like they require hours of slow cooking, this entire meal is ready in under 30 minutes. The salmon develops a perfectly crisp exterior while staying buttery and flaky inside, and the sauce thickens to the ideal consistency as it simmers. Every bite delivers that satisfying combination of savory, tangy, and creamy that makes tuscan cuisine so beloved.
Why This Recipe Works
- Restaurant-Quality Results: Achieve that dining-out experience with simple pantry ingredients and basic cooking techniques
- Completely Dairy-Free: Rich cashew cream creates the luxurious texture without any cheese or heavy cream
- One-Pan Wonder: Everything cooks in a single skillet, minimizing cleanup while maximizing flavor development
- Nutrient-Dense: Packed with omega-3s from salmon, vitamins from spinach, and antioxidants from artichokes
- Meal Prep Friendly: The sauce actually improves in flavor overnight, making it perfect for advance preparation
- Impressive Yet Easy: Looks and tastes like you spent hours cooking, but comes together faster than takeout delivery
Ingredients You'll Need
The beauty of this recipe lies in how these simple, wholesome ingredients transform into something extraordinary. Each component plays a crucial role in building layers of flavor that make this dish truly memorable.
Fresh Salmon Fillets: Look for wild-caught salmon when possible—it has a richer flavor and better texture. Choose fillets that are about 1½ inches thick, which ensures they stay moist during cooking. If you can only find thinner fillets, reduce the cooking time by 2-3 minutes per side. The salmon should smell fresh, like the ocean, never fishy.
Raw Cashews: These create the creamy base for our dairy-free sauce. Soak them in hot water for at least 30 minutes before blending to achieve the silkiest texture. If you have a high-speed blender, you can get away with soaking for just 15 minutes, but longer soaking ensures the smoothest possible cream.
Coconut Milk: Use full-fat canned coconut milk, not the carton variety. The fat content is essential for creating that rich, luxurious sauce that clings to the salmon. I recommend Thai Kitchen or Native Forest brands—they blend beautifully without any graininess.
Sun-Dried Tomatoes: These little flavor bombs add tangy sweetness and gorgeous color to the dish. Pack them in oil for the best texture, but be sure to drain them well before chopping. If you only have dry-packed sun-dried tomatoes, rehydrate them in warm water for 10 minutes first.
Artichoke Hearts: Canned artichoke hearts in water are perfect for this recipe. Look for ones that are quartered or halved to save prep time. Rinse them well and pat dry before using to prevent excess water from thinning your sauce.
Fresh Baby Spinach: This wilts down dramatically, so don't be alarmed by the large quantity. Fresh spinach has a much better texture than frozen in this application. If you must substitute, use frozen spinach that's been thoroughly thawed and squeezed dry.
Garlic and Shallots: These aromatics form the flavor foundation of our sauce. Fresh garlic is essential—pre-minced garlic from a jar just won't deliver the same punch. Shallots provide a milder, sweeter alternative to onions that complements the other ingredients beautifully.
How to Make Whole30 Creamy Tuscan Salmon with Spinach and Artichokes
Prepare the Cashew Cream
Drain the soaked cashews and add them to a high-speed blender with ½ cup water, ¼ cup coconut milk, and a pinch of salt. Blend on high for 2-3 minutes until completely smooth and creamy. The mixture should be the consistency of heavy cream. If it's too thick, add water one tablespoon at a time. Set aside while you prepare the other components.
Season the Salmon
Pat the salmon fillets completely dry with paper towels—this is crucial for achieving that beautiful golden crust. Season both sides generously with sea salt, black pepper, and Italian seasoning. Let the salmon rest at room temperature for 10 minutes while you heat the pan. This ensures even cooking and prevents the fish from seizing up when it hits the hot pan.
Sear the Salmon
Heat 2 tablespoons of olive oil in a large, heavy-bottomed skillet over medium-high heat. When the oil shimmers and just begins to smoke, carefully place the salmon fillets skin-side up. Press down gently with a spatula for 15 seconds to ensure even contact with the pan. Cook for 4-5 minutes without moving them—you want that gorgeous golden crust to develop. Flip and cook for another 3-4 minutes on the skin side. Transfer to a plate and tent with foil.
Build the Aromatics
In the same pan (don't wipe it out—those browned bits are flavor gold!), reduce heat to medium and add 1 tablespoon olive oil. Add the minced shallots and cook for 2 minutes until translucent. Add the garlic and cook for 30 seconds until fragrant but not browned. The aroma should fill your kitchen at this point—that's the smell of delicious things to come.
Deglaze and Develop Flavor
Pour in the chicken broth and use a wooden spoon to scrape up all the beautiful browned bits from the bottom of the pan. Add the sun-dried tomatoes and let the mixture simmer for 2 minutes. This step concentrates the flavors and creates the foundation for our sauce. The tomatoes will begin to soften and release their sweet-tangy essence into the broth.
Create the Creamy Base
Stir in the remaining coconut milk and bring to a gentle simmer. Add the cashew cream you prepared earlier, whisking constantly to prevent lumps. The sauce will begin to thicken as it heats. Add the nutritional yeast for extra depth and umami flavor. Let it simmer for 3-4 minutes, stirring frequently, until it coats the back of a spoon.
Add the Vegetables
Gently fold in the artichoke hearts and cook for 1 minute. Gradually add the baby spinach, one handful at a time, stirring until wilted before adding more. This prevents the pan from becoming overcrowded and ensures even cooking. The spinach will release some water initially, but it will cook off as the sauce thickens.
Reunite Salmon with Sauce
Return the seared salmon fillets to the pan, nestling them into the sauce. Spoon some sauce over each fillet and let everything simmer together for 2-3 minutes. This allows the salmon to finish cooking and absorb some of the sauce flavors. The fish should flake easily with a fork but still be slightly translucent in the center—that's perfect!
Final Seasoning and Garnish
Taste the sauce and adjust seasoning with salt and pepper as needed. The sun-dried tomatoes add natural sweetness, but if your sauce tastes flat, add a squeeze of fresh lemon juice to brighten everything. Remove from heat and let rest for 2 minutes. Garnish with fresh basil and an extra drizzle of olive oil for that restaurant-quality presentation.
Expert Tips
Perfect Pan-Seared Salmon
Don't overcrowd the pan—cook the salmon in batches if necessary. Overcrowding lowers the pan temperature and prevents proper searing.
Sauce Consistency
If your sauce becomes too thick, thin it with a splash of chicken broth. If too thin, let it simmer for an extra minute or two.
Cashew Cream Shortcuts
If you forgot to soak cashews, boil them for 10 minutes to soften quickly. This emergency method works in a pinch!
Make-Ahead Magic
The cashew cream can be made up to 3 days ahead and stored in the refrigerator. Give it a good shake before using.
Temperature Control
Use medium heat when making the sauce. Too high and the cashew cream can separate; too low and it won't thicken properly.
Vegetable Variations
Feel free to substitute kale or Swiss chard for the spinach. Just increase the cooking time by 2-3 minutes for heartier greens.
Variations to Try
Seafood Medley
Swap half the salmon for large shrimp or scallops. Add them during the last 3 minutes of cooking to prevent overcooking.
Vegetarian Version
Replace salmon with thick slices of cauliflower steak or portobello mushroom caps. Sear them the same way you would the fish.
Spicy Tuscan
Add ½ teaspoon red pepper flakes when sautéing the garlic, or stir in some Calabrian chili paste for authentic Italian heat.
Mediterranean Twist
Add ¼ cup pitted Kalamata olives and a sprinkle of capers along with the artichokes for a briny, Mediterranean flavor profile.
Storage Tips
Refrigeration: Store leftovers in an airtight container for up to 3 days. The sauce will thicken considerably when cold, but it loosens up when reheated. For best results, store the salmon and sauce together so the fish stays moist.
Freezing: While you can freeze this dish, the texture of the sauce may change slightly upon thawing. If freezing, I recommend storing just the sauce without the salmon, as fish doesn't freeze well in cream sauce. Freeze the sauce in portions for up to 2 months.
Reheating: Gently reheat in a covered skillet over medium-low heat, adding a splash of chicken broth or coconut milk to loosen the sauce. Avoid microwaving if possible, as it can make the salmon rubbery. If you must microwave, use 50% power in short intervals.
Make-Ahead Components: The cashew cream can be made up to 5 days ahead and stored refrigerated. The sauce base (without vegetables) can be made 2 days ahead and refrigerated, then simply reheat and add fresh vegetables when ready to serve.
Frequently Asked Questions
Absolutely! Replace the cashew cream with ½ cup tahini (sesame paste) thinned with water, or use sunflower seed butter for a similar creamy texture. You can also increase the coconut milk to 1½ cups and add 2 tablespoons of arrowroot powder as a thickener.
Perfectly cooked salmon flakes easily with a fork but still has a slightly translucent center. The internal temperature should reach 125°F for medium-rare or 130°F for medium. Remember it will continue cooking slightly after removing from heat, so err on the side of undercooking.
This usually happens when the heat is too high. Cashew cream is sensitive to temperature changes. If separation occurs, remove from heat immediately and whisk vigorously. You can also blend the sauce briefly with an immersion blender to re-emulsify it.
Yes, but thaw it completely first. Place frozen salmon in the refrigerator overnight, or submerge in cold water (in its packaging) for 30-45 minutes. Pat it very dry before seasoning and searing, as excess moisture will prevent proper browning.
This dish is perfect over cauliflower rice, zucchini noodles, or roasted spaghetti squash. For a heartier meal, serve alongside roasted baby potatoes or a simple arugula salad dressed with lemon and olive oil. Crusty bread (if not doing Whole30) is fantastic for sopping up the sauce.
Absolutely! Use a larger skillet or cook the salmon in batches. The sauce doubles beautifully, but you may need to increase the simmering time by 2-3 minutes to achieve the right consistency. Consider using a second pan for the salmon to ensure proper searing.
Whole30 Creamy Tuscan Salmon with Spinach and Artichokes
Ingredients
Instructions
- Make cashew cream: Drain soaked cashews and blend with ½ cup water, ¼ cup coconut milk, and pinch of salt until completely smooth.
- Season salmon: Pat salmon dry and season both sides with salt, pepper, and Italian seasoning. Let rest 10 minutes.
- Sear salmon: Heat 2 tablespoons olive oil in a large skillet over medium-high heat. Sear salmon skin-side up for 4-5 minutes, flip and cook another 3-4 minutes. Transfer to plate.
- Build aromatics: In the same pan, sauté shallots in 1 tablespoon oil for 2 minutes. Add garlic and cook 30 seconds.
- Create sauce: Add chicken broth and sun-dried tomatoes, simmer 2 minutes. Stir in remaining coconut milk and cashew cream, whisk until smooth.
- Add vegetables: Fold in artichokes and spinach, cooking until spinach wilts. Return salmon to pan and simmer 2-3 minutes.
- Garnish and serve: Season to taste and garnish with fresh basil. Serve hot over cauliflower rice or zucchini noodles.
Recipe Notes
Soak cashews for at least 30 minutes for the smoothest cream. For nut allergies, substitute with tahini thinned with water. The sauce thickens as it cools, so serve immediately for the best consistency.