This Moroccan salmon is the kind of dish that makes your kitchen smell like you’ve been cooking with intention, love, and a little attitude. We’re talking fresh chermoula packed with cilantro and parsley, harissa bringing that slow, smoky heat, preserved lemon cutting through with just the right pop, and a tomato sauce that simmers down into something deep, rich, and comforting. This is not a rush-it-and-eat-it kind of meal. This is a “let it bubble, let it deepen, let it do what it does” situation. The salmon stays tender, the vegetables soak up every drop of flavor, and the sauce? Chile… you’re going to want bread for that.
This is one of those recipes that feels impressive but still doable. No stress. No fancy techniques. Just layering flavors, trusting the process, and letting good ingredients show out. If you love bold, cozy dinners that feel nourishing and special without being fussy, this Moroccan salmon is about to be on repeat.

Moroccan Salmon with Chermoula & Harissa Tomato Sauce
Equipment
- Large deep skillet or braiser with lid
- Cutting board
- Sharp chef’s knife
- Food processor or box grater
- Mixing bowls
- Measuring spoons
- Tongs or fish spatula
Ingredients
Harissa Chermoula Marinade (Double Batch)
- 6 tablespoons olive oil
- 6 tablespoons lemon juice freshly squeezed
- 8 cloves garlic minced
- 2 teaspoons ground cumin
- 2 teaspoons sweet paprika
- 2 teaspoons ground turmeric
- 2 to 3 teaspoons harissa paste plus extra for deepening color
- 1 cup fresh cilantro finely chopped
- 1 cup fresh parsley finely chopped
- 2 teaspoons salt
- 1 teaspoon black pepper
Salmon
- 2.44 pounds salmon fillets skin on or off
- 1 preserved lemon sliced thin, mostly rind
- Vegetable Base
- 2 medium onions sliced
- 3 carrots sliced
- 1 red bell pepper sliced
- 1 yellow bell pepper sliced
- 1 green bell pepper sliced
- 1½ cups Roma tomatoes grated or pulsed
- 3 Roma tomatoes sliced
- ½ cup water or low-sodium broth
Instructions
Make the Chermoula Like a Pro:
- In a bowl, mix olive oil, lemon juice, garlic, cumin, paprika, turmeric, harissa, cilantro, parsley, salt, and pepper until fragrant and vibrant. Scoop out half and reserve for cooking. Coat salmon with the remaining half and refrigerate.
Prep the Veggies First, Trust Me:
- Slice onions, carrots, and bell peppers. Pulse or grate Roma tomatoes until rustic and saucy. Slice remaining tomatoes and set aside.
Build the Flavor Base:
- Heat a drizzle of olive oil in a deep skillet over medium heat. Add onions, carrots, bell peppers, grated tomatoes, and water or broth. Season lightly with salt. Cover and simmer 10 to 12 minutes until vegetables soften.
Mix If Things Start Acting Up:
- If potatoes or vegetables begin sticking, gently mix. Authentic flavor matters, but burnt bottoms do not.
Deepen the Sauce:
- Uncover the skillet and let the sauce bubble on medium heat for 5 to 7 minutes. This concentrates flavor and deepens color. If needed, stir in 1 teaspoon olive oil, ½ teaspoon paprika, and an extra pinch of harissa.
Add the Tomato Cushion:
- Lay sliced tomatoes evenly over the softened vegetables.
Nestle the Salmon:
- Lower heat to medium-low. Place marinated salmon on top of the sliced tomatoes. Spoon reserved clean chermoula over the fish.
Don’t Forget the Preserved Lemon:
- Tuck preserved lemon slices around the salmon, pressing slightly into the sauce.
Simmer Gently:
- Cover and cook 6 to 8 minutes for tender, barely cooked salmon. Keep heat low so the fish stays buttery.
Finish the Sauce Like a Boss:
- If the sauce needs more color, gently remove salmon. Simmer sauce uncovered 2 to 4 minutes until glossy and deep red. Add a splash of broth if needed. Return salmon to warm through.
Serve with Confidence:
- Spoon that rich harissa tomato sauce over the salmon and vegetables. Take a breath. You did that.
Notes
- This dish gets even better the next day as the chermoula and preserved lemon settle into the sauce.
- Salmon cooks quickly, so always finish the sauce first.
- If the sauce thickens too much, loosen with 1 to 2 tablespoons warm water or broth.
Serve with rice, couscous, or warm bread to soak up every drop.