Moroccan Braised Fish in Tomato

Golden Moroccan braised fish fillets simmered in rich spiced tomato sauce with fresh herbs Save
Golden Moroccan braised fish fillets simmered in rich spiced tomato sauce with fresh herbs | cookingwithkendra.com

This North African-inspired dish features tender white fish fillets gently braised in a vibrant tomato sauce. The sauce is infused with warm spices like cumin, paprika, turmeric, and coriander, plus plenty of fresh garlic and herbs. After marinating the fish in lemon and spices, it's nestled into the simmering sauce where it cooks until perfectly flaky. The result is a comforting, aromatic one-pan meal that pairs beautifully with couscous, rice, or crusty bread to soak up the flavorful sauce.

The first time I made this Moroccan braised fish, my kitchen filled with such incredible aromas that my neighbor actually knocked on the door to ask what I was cooking. The combination of cumin, paprika, and tomatoes simmering together creates something truly magical. I've since learned it's the kind of dish that makes people feel instantly at home.

Last winter when my sister was recovering from surgery, I brought this over for dinner. She texted me the next morning saying it was the first thing that actually tasted good in days. Sometimes comfort food comes wrapped in the most vibrant, unexpected flavors.

Ingredients

  • White fish fillets: Cod, haddock, or halibut work beautifully because they hold their shape while staying tender
  • Lemon juice: The acid brightens everything and helps the fish absorb the marinade
  • Cumin and paprika: These are the backbone of Moroccan flavor, warm and earthy without being overwhelming
  • Crushed tomatoes: Use good quality canned tomatoes for the richest sauce base
  • Red bell pepper: Adds natural sweetness and beautiful color to the sauce
  • Fresh herbs: Both cilantro and parsley are nonnegotiable for that authentic finish

Instructions

Prepare the fish:
Pat the fillets dry and drizzle with lemon juice, salt, and pepper. Let them sit for about 10 minutes while you prep everything else.
Make the spice marinade:
Whisk together olive oil, minced garlic, cumin, paprika, turmeric, and the chopped herbs. Rub this mixture all over the fish, coating every surface.
Start the sauce base:
Heat olive oil in a deep skillet over medium heat. Sauté the onion until soft and translucent, about 5 minutes. You want it sweet, not browned.
Add the aromatics:
Toss in the diced red pepper and cook another 3 minutes. Stir in the garlic and spices, letting them bloom for just a minute until incredibly fragrant.
Build the tomato sauce:
Pour in the crushed tomatoes, tomato paste, water, and sugar. Add the bay leaf and season with salt and pepper. Simmer uncovered for 10 minutes until slightly thickened.
Braise the fish:
Gently lay the marinated fish into the sauce, spooning some over the top. Cover and simmer on low heat for 12 to 15 minutes until the fish flakes easily with a fork.
Finish and serve:
Remove the bay leaf and scatter fresh cilantro and parsley over everything. Bring the whole skillet to the table and let people help themselves.
Flaky white fish nestles in fragrant Moroccan tomato sauce braised with bell peppers and warming spices Save
Flaky white fish nestles in fragrant Moroccan tomato sauce braised with bell peppers and warming spices | cookingwithkendra.com

This recipe became my go-to for dinner parties after I served it to my book club. Everyone kept asking for the recipe, and the conversation somehow turned into a debate about which fish works best. That's when I knew this dish was a keeper.

Making It Your Own

Sometimes I'll add green olives or preserved lemon to the sauce during the last few minutes of cooking. Both ingredients add that authentic Moroccan punch that makes people think you spent hours at the stove.

Serving Suggestions

Steamed couscous is traditional, but crusty bread might be even better for mopping up that sauce. I've also served it over fluffy rice or alongside roasted vegetables when I want something lighter.

Make Ahead Wisdom

The sauce actually tastes better the next day, so I sometimes make it in advance and gently reheat it before adding the fish. Fresh fish is always best, but thawed frozen fillets work perfectly fine in a pinch.

  • Double the sauce portion and freeze half for another meal
  • Adjust the cayenne gradually if you're sensitive to heat
  • Let the fish come to room temperature before cooking for even results
Creamy tomato-braised fish topped with green cilantro and parsley served family style in rustic skillet Save
Creamy tomato-braised fish topped with green cilantro and parsley served family style in rustic skillet | cookingwithkendra.com

There's something deeply satisfying about a dish that looks this impressive but comes together with such simple techniques. I hope it becomes a regular in your kitchen rotation too.

Recipe FAQs

White fish fillets like cod, haddock, halibut, or sea bass are ideal. They're firm enough to hold their shape during braising while remaining tender and flaky when cooked through.

The tomato sauce can be made up to 2 days in advance and refrigerated. Reheat gently before adding the fish, as the fish is best cooked just before serving to prevent it from becoming overcooked and dry.

The cayenne pepper adds mild heat. For more spice, increase the cayenne or add red pepper flakes. For a milder version, omit the cayenne entirely—the other spices provide plenty of flavor without heat.

Steamed couscous is the traditional choice and absorbs the sauce beautifully. Fluffy white rice, quinoa, or crusty bread also work well. A simple green salad with lemon dressing makes a fresh accompaniment.

Yes, diced carrots, celery, or zucchini can be added with the onion in step 3. Green olives or preserved lemon slices make excellent additions during the last few minutes of cooking for authentic Moroccan flavor.

Moroccan Braised Fish in Tomato

Flaky fish in a spiced tomato sauce with cumin, paprika, and fresh herbs. A comforting North African-inspired meal.

Prep 20m
Cook 30m
Total 50m
Servings 4
Difficulty Medium

Ingredients

Fish

  • 4 skinless white fish fillets (cod, haddock, or halibut, about 5 oz each)
  • Juice of 1 lemon
  • 1 tsp salt
  • ½ tsp ground black pepper

Marinade

  • 2 tbsp olive oil
  • 2 garlic cloves, finely minced
  • 1 tsp ground cumin
  • 1 tsp sweet paprika
  • ½ tsp ground turmeric
  • 1 tbsp chopped fresh cilantro
  • 1 tbsp chopped fresh parsley

Tomato Sauce

  • 2 tbsp olive oil
  • 1 large onion, finely chopped
  • 1 red bell pepper, diced
  • 3 garlic cloves, minced
  • 1½ tsp ground cumin
  • 1 tsp paprika
  • ½ tsp ground coriander
  • ¼ tsp cayenne pepper (optional, adjust to taste)
  • 1 can (14 oz) crushed tomatoes
  • 2 tbsp tomato paste
  • ⅔ cup water
  • 1 tsp sugar
  • Salt and pepper, to taste
  • 1 bay leaf
  • 2 tbsp chopped fresh cilantro
  • 2 tbsp chopped fresh parsley

Instructions

1
Prepare the Fish: Place fish fillets in a shallow dish. Drizzle with lemon juice, salt, and pepper. Let marinate for 10 minutes.
2
Make the Spice Marinade: In a small bowl, mix olive oil, garlic, cumin, paprika, turmeric, cilantro, and parsley. Rub onto both sides of the fish fillets. Set aside.
3
Sauté Aromatics: Heat olive oil in a large, deep skillet or Dutch oven over medium heat. Add onion and sauté for 4–5 minutes until soft.
4
Add Bell Pepper and Spices: Add red bell pepper and cook for 3 minutes. Stir in garlic, cumin, paprika, coriander, and cayenne. Fry for 1 minute until fragrant.
5
Simmer the Tomato Sauce: Pour in crushed tomatoes, tomato paste, water, sugar, salt, pepper, and bay leaf. Bring to a simmer and cook uncovered for 10 minutes, stirring occasionally, until slightly thickened.
6
Add Fish to Sauce: Gently nestle the marinated fish fillets into the sauce. Spoon some sauce over the top.
7
Braise the Fish: Cover and simmer on low for 12–15 minutes, or until the fish is just cooked through and flakes easily.
8
Finish and Garnish: Remove bay leaf. Sprinkle with fresh cilantro and parsley before serving.
Additional Information

Equipment Needed

  • Large deep skillet or Dutch oven
  • Sharp knife
  • Cutting board
  • Mixing bowls
  • Measuring spoons

Nutrition (Per Serving)

Calories 295
Protein 29g
Carbs 15g
Fat 13g

Allergy Information

  • Contains fish
  • Gluten-free and dairy-free, but check labels on canned tomatoes and spices for cross-contamination if required
Kendra Lewis

Sharing simple, homemade recipes and handy cooking tips for fellow home cooks.