This aromatic dish features tender white fish fillets braised in a rich tomato sauce infused with classic Moroccan spices including cumin, paprika, turmeric, and coriander. The fish is first marinated with garlic and fresh herbs, then gently simmered in the deeply flavored sauce until perfectly cooked through. The result is a comforting, fragrant meal that pairs beautifully with couscous, rice, or crusty bread to soak up the savory sauce.
My tiny apartment kitchen filled with the most incredible aroma when I first attempted this Moroccan fish dish. The combination of cumin, paprika, and tomatoes simmering away made the whole building smell like a spice market in Marrakesh. My neighbor actually knocked on my door to ask what I was cooking.
Last winter I made this for my parents when they visited during a particularly cold week. My dad usually prefers his food pretty mild, but he went back for seconds and actually asked for the recipe. Watching him sop up that sauce with bread made me realize this is one of those dishes that brings people together.
Ingredients
- 4 skinless white fish fillets: Cod, haddock, or halibut work beautifully because they hold their shape during braising
- Juice of 1 lemon: This brightens everything and helps the fish taste cleaner and fresher
- 2 tbsp olive oil: Use a good quality one since it forms the base of your sauce
- 1 large onion: Finely chopped so it melts into the sauce almost completely
- 1 red bell pepper: Adds natural sweetness and another layer of flavor
- 3 garlic cloves: Dont be shy with garlic its essential here
- 1½ tsp ground cumin: This is the backbone of Moroccan flavor
- 1 tsp paprika: Sweet paprika gives color and depth without too much heat
- ½ tsp ground coriander: Has a citrusy floral note that brightens the sauce
- ¼ tsp cayenne pepper: Optional but that tiny kick makes everything else sing
- 1 can crushed tomatoes: The foundation of your sauce
- 2 tbsp tomato paste: Concentrates the tomato flavor beautifully
- Fresh cilantro and parsley: Both herbs add freshness at the end
Instructions
- Prepare the fish:
- Place 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 marinade:
- Mix olive oil, minced garlic, cumin, paprika, turmeric, and half the fresh herbs in a small bowl. Rub this mixture all over both sides of each fish fillet.
- Start the sauce base:
- Heat olive oil in a large deep skillet over medium heat. Add the chopped onion and cook for 4 to 5 minutes until its soft and translucent.
- Add the peppers and spices:
- Stir in the diced red bell pepper and cook for 3 more minutes. Add the garlic, cumin, paprika, coriander, and cayenne then cook 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, stirring occasionally until the sauce thickens slightly.
- Braise the fish:
- Gently nestle the marinated fish fillets into the sauce and spoon some sauce 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 sprinkle generously with fresh cilantro and parsley before bringing to the table.
This recipe has become my go to when I want to serve something that feels special but doesnt leave me exhausted. Theres something so satisfying about watching that simple tomato sauce transform into something complex and rich.
Choosing the Right Fish
White fish with a firm texture works best here because it holds up during braising. I learned the hard way that delicate fish can fall apart and turn your beautiful sauce into something chunky and unappealing. Thick fillets give you more wiggle room with cooking time too.
Building Flavor Layers
The key to this dish is building flavor in stages. First you marinate the fish, then cook the aromatics, toast the spices, and finally simmer the sauce. Each step adds depth that you cant get by dumping everything in at once. Rush this process and youll taste the difference.
Serving Suggestions
I love serving this with steamed couscous that soaks up all that gorgeous sauce. Crusty bread works just as well and honestly Ive been known to eat it straight from the pan with nothing else.
- Add green olives during the last 5 minutes for a briny kick
- Preserved lemon adds authentic Moroccan flavor if you can find it
- Extra harissa on the side for heat lovers
This is the kind of recipe that makes your kitchen feel warm and inviting even on the coldest nights.
Recipe FAQs
- → What type of fish works best for this dish?
-
White fish fillets like cod, haddock, halibut, or sea bass are ideal. They hold their shape well during braising and absorb the aromatic spices beautifully. Thicker fillets may need an extra 2-3 minutes of cooking time.
- → Can I make this dish spicier?
-
Absolutely. Increase the cayenne pepper to ½ teaspoon or add red pepper flakes to the sauce. For milder heat, simply reduce or omit the cayenne altogether.
- → What should I serve with Moroccan braised fish?
-
Steamed couscous is traditional, but fluffy rice or crusty bread works wonderfully for soaking up the rich sauce. Roasted vegetables or a simple green salad make excellent sides.
- → Can I prepare the sauce ahead of time?
-
Yes, the tomato sauce can be made up to 2 days in advance and refrigerated. Reheat gently before adding the fish, then proceed with braising as directed.
- → How do I know when the fish is done?
-
The fish is ready when it flakes easily with a fork and appears opaque throughout. This typically takes 12-15 minutes of gentle simmering. Avoid overcooking to prevent the fish from becoming dry.
- → Can I add extra vegetables to the sauce?
-
Green olives, preserved lemon slices, or diced carrots can be added with the onions. These additions enhance the Moroccan character and add depth to the dish.