Moroccan Braised Fish Tomato Sauce

Golden white fish fillets nestled in rich Moroccan tomato sauce with vibrant red pepper and fresh green herbs Save
Golden white fish fillets nestled in rich Moroccan tomato sauce with vibrant red pepper and fresh green herbs | weekendpinmeals.com

This comforting North African-inspired dish features tender white fish fillets braised in a rich, aromatic tomato sauce. The fish is first marinated with lemon juice, olive oil, garlic, and a warm spice blend of cumin, paprika, and turmeric. Meanwhile, a flavorful sauce is built by sautéing onions and bell peppers, then adding crushed tomatoes, tomato paste, and an array of Moroccan spices including coriander and optional cayenne. The marinated fish is nestled into this fragrant sauce and gently simmered until perfectly cooked through. Fresh cilantro and parsley add brightness just before serving. The result is a beautifully balanced dish with tender, flaky fish and a deeply flavorful sauce that's perfect over couscous, rice, or crusty bread.

The first time I made this Moroccan fish, my kitchen filled with such incredible aromas that my neighbor actually knocked on the door to ask what I was cooking. That spice blend of cumin, paprika, and turmeric hitting the hot oil creates something magical. I've since learned this dish brings people to the table faster than anything else I make.

Last winter, my sister came over feeling completely drained from work. I made this fish and watched her shoulders actually drop as she ate, the steam rising from her bowl carrying those comforting Moroccan spices. Sometimes food is just nourishment, but sometimes its a gentle embrace.

Ingredients

  • 4 white fish fillets: Cod, haddock, or halibut work beautifully because they hold their shape while becoming tender
  • Lemon juice: This brightens everything and helps the fish absorb those gorgeous spices
  • 2 garlic cloves, minced: Fresh garlic makes all the difference in the marinade
  • Ground cumin, paprika, and turmeric: This trio creates that signature Moroccan warmth
  • Fresh cilantro and parsley: Dont skip these, they bring life to the rich sauce
  • 1 large onion, finely chopped: The foundation of your sauce, so take time to chop it evenly
  • 1 red bell pepper, diced: Adds sweetness and another layer of flavor
  • Crushed tomatoes and tomato paste: Together they create a sauce thats both bright and deeply savory
  • Water: Just enough to loosen the sauce to the perfect consistency
  • 1 tsp sugar: Balances the acidity of the tomatoes naturally

Instructions

Prepare the fish:
Place your fillets in a shallow dish and drizzle with lemon juice, salt, and pepper. Let them sit for about 10 minutes while you prep everything else.
Make the spice rub:
Mix the olive oil, minced garlic, cumin, paprika, turmeric, and chopped herbs in a small bowl. Rub this mixture all over both sides of each fish fillet, coating them generously.
Start the sauce base:
Heat olive oil in a large deep skillet over medium heat. Add your chopped onion and sauté for 4 to 5 minutes until it softens and turns translucent.
Add the aromatics:
Stir in the diced red bell pepper and cook for 3 minutes. Add the garlic, cumin, paprika, coriander, and cayenne, cooking for just 1 minute until the spices become fragrant.
Build the tomato sauce:
Pour in the crushed tomatoes, tomato paste, water, sugar, salt, pepper, and bay leaf. Bring everything to a simmer, then cook uncovered for 10 minutes until the sauce thickens slightly.
Nestle in the fish:
Gently place the marinated fish fillets into the sauce, spooning some of that gorgeous sauce over the top. Let the fish settle into the liquid.
Simmer to perfection:
Cover the pan and reduce heat to low. Simmer for 12 to 15 minutes until the fish flakes easily with a fork. Remove the bay leaf and sprinkle with fresh cilantro and parsley before serving.
Flaky fish simmered gently in spiced tomato sauce topped with chopped cilantro and parsley in a deep skillet Save
Flaky fish simmered gently in spiced tomato sauce topped with chopped cilantro and parsley in a deep skillet | weekendpinmeals.com

This recipe has become my go to when I want to make someone feel special without spending hours in the kitchen. Theres something about that combination of tender fish and spiced tomato sauce that just works.

Making It Your Own

Ive learned that preserved lemon transforms this dish into something extraordinary. Just slice thinly and tuck them into the sauce during the last few minutes of cooking. Green olives also add a lovely briny contrast.

What To Serve Alongside

Steamed couscous is traditional and soaks up that sauce perfectly. But Ive also served this over fluffy rice or with crusty bread for dunking. A simple green salad with lemon dressing cuts through the richness nicely.

Timing Your Meal

The fish continues to cook in the hot sauce even after you turn off the heat, so remove it from the pan just before you think its done. This keeps it perfectly moist and flaky.

  • Have all your ingredients chopped and measured before you start cooking
  • Warm your serving plates so the fish stays hot longer
  • The sauce actually tastes better the next day, if you have leftovers
Moroccan braised fish steaming hot in aromatic red tomato sauce with specks of cumin and paprika visible Save
Moroccan braised fish steaming hot in aromatic red tomato sauce with specks of cumin and paprika visible | weekendpinmeals.com

I hope this Moroccan fish brings as much warmth to your table as it has to mine. Theres something deeply satisfying about a dish that tastes this good and brings this much joy.

Recipe FAQs

White fish fillets like cod, haddock, halibut, or sea bass work beautifully. Choose firm, mild-flavored fish that can hold its shape during braising. Thicker fillets may need slightly longer cooking time.

The tomato sauce can be prepared 1-2 days in advance and refrigerated. Gently reheat before adding the fish, as the fish cooks quickly and is best served immediately after braising.

The cayenne pepper is optional and can be adjusted to taste. For more heat, add additional cayenne or red pepper flakes. For a milder version, simply omit the cayenne entirely.

Steamed couscous is traditional and absorbs the sauce beautifully. Rice, crusty bread for dipping, or roasted vegetables also make excellent accompaniments to this flavorful dish.

Green olives or preserved lemon slices add authentic Moroccan flair. Chickpeas can be added for extra protein, and diced vegetables like carrots or zucchini work well in the sauce.

Yes, this Moroccan braised fish is naturally dairy-free, gluten-free, and pescatarian-friendly. Always check labels on canned tomatoes and spice blends if you have strict dietary requirements.

Moroccan Braised Fish Tomato Sauce

Flaky fish braised in spiced tomato sauce with Moroccan aromatics

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

Ingredients

Fish

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

Marinade

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

Tomato Sauce

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

Instructions

1
Prepare Fish: Place fish fillets in a shallow dish. Drizzle with lemon juice, 1 teaspoon salt, and ½ teaspoon black pepper. Let marinate for 10 minutes.
2
Make Spice Rub: In a small bowl, mix 2 tablespoons olive oil, 2 minced garlic cloves, 1 teaspoon cumin, 1 teaspoon paprika, ½ teaspoon turmeric, 1 tablespoon cilantro, and 1 tablespoon parsley. Rub onto both sides of the fish fillets. Set aside.
3
Sauté Vegetables: Heat 2 tablespoons olive oil in a large, deep skillet or Dutch oven over medium heat. Add onion and sauté for 4–5 minutes until soft. Add red bell pepper and cook for 3 minutes.
4
Add Aromatics: Stir in 3 minced garlic cloves, 1½ teaspoons cumin, 1 teaspoon paprika, ½ teaspoon coriander, and ¼ teaspoon cayenne. Fry for 1 minute until fragrant.
5
Build 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
Simmer Until Cooked: Cover and simmer on low for 12–15 minutes, or until the fish is just cooked through and flakes easily.
8
Finish and Serve: 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.
Jenna Whitaker

Sharing easy, family-friendly recipes and practical cooking tips for everyday home cooks.