
Tunisian Fish Couscous with Harissa Broth
Tender white fish, potatoes, carrots and chickpeas simmer in a brick-red, garlicky harissa-tomato broth, then get ladled over fluffy couscous. It's a one-pot Tunisian-style dinner with deep flavor and a gentle, adjustable heat.
- Prep
- 25 min
- Cook
- 40 min
- Wait
- 5 min
- Total
- 1 hr 10 min
- Makes
- 6 generous bowls
Steps
Before you start
- Use a firm white fish such as cod, halibut, haddock or snapper. Thin, delicate fillets like sole fall apart in the broth.
- Harissa brands vary a lot in heat and saltiness. Start with 3 tablespoons for a medium heat and taste the broth before adding fish.
- Pat the fish dry and take it out of the fridge about 15 minutes before it goes into the pot so it cooks evenly.
- Have a kettle of water boiled or ready to boil for the couscous in step 8. This recipe is all stovetop; no oven is needed.
Prep the vegetables
- Chop the onion, mince the garlic, and peel and cut the potatoes into 1½-inch (4 cm) chunks.
- Cut the carrots into 2-inch (5 cm) pieces, halving any thick ones lengthwise so they cook at the same rate.
- Cut the zucchini into 2-inch (5 cm) chunks and set it aside separately because it goes in later.
- Drain and rinse the chickpeas.
+ Show details− Hide details
Ready when: Potato and carrot pieces are all roughly the same size.
Tip: Keep the potatoes in a bowl of cold water if you prep more than 10 minutes ahead, and drain before using.
Season the fish
- Pat the fish pieces very dry with paper towels.
- Season all sides with 1 teaspoon salt and ½ teaspoon pepper.
- Set on a plate and leave at room temperature while the broth cooks.
+ Show details− Hide details
Tip: Don't leave the fish out longer than 30 minutes total.
Soften the onion
- Heat ¼ cup (60 ml) olive oil in a 5- to 6-quart (4.7–5.7 L) heavy pot over medium heat.
- Add the onion and cook, stirring often, for 7–8 minutes until soft, translucent and just starting to turn golden at the edges.
- Add the garlic and cook 1 minute more, stirring constantly.
+ Show details− Hide details
Ready when: Onion is soft and translucent with light golden edges; garlic smells sweet and fragrant, not sharp or browned.
Tip: If the garlic starts to brown, lower the heat right away. Burnt garlic makes the broth bitter.
Bloom paste and spices
- Add the tomato paste, harissa, coriander, caraway and cumin.
- Stir constantly for 2 minutes so the paste darkens slightly and coats the onions in a thick, deep-red paste that smells toasty and spicy.
+ Show details− Hide details
Ready when: The paste darkens a shade and the oil begins to separate at the edges.
Tip: Scrape the bottom as you stir so the paste doesn't scorch.
Simmer the broth
- Stir in the crushed tomatoes, 6 cups (1.4 L) water and 2 teaspoons salt, scraping up any browned bits.
- Add the potatoes and carrots and bring to a boil over high heat.
- Reduce to medium-low, partly cover, and simmer 15 minutes until the potatoes are nearly tender when pierced with a knife.
+ Show details− Hide details
Ready when: A knife slides into a potato with slight resistance in the center.
Tip: Keep it at a steady, gentle simmer. A hard boil can break up the potatoes.
Add zucchini and chickpeas
- Add the zucchini and chickpeas and stir gently.
- Return to a simmer and cook, partly covered, for 5 minutes.
- Taste the broth and add salt if needed.
- It should taste bold, a little spicy and well seasoned, since the fish and couscous will mellow it.
+ Show details− Hide details
Ready when: Zucchini is just beginning to turn tender and potatoes are fully tender.
Tip: If you want more heat, stir in another 1–2 teaspoons harissa now.
Poach the fish
- Reduce the heat to low so the broth barely bubbles.
- Nestle the fish pieces into the broth in a single layer, spooning some broth over the tops.
- Cover and cook 7–8 minutes without stirring, until the fish is opaque throughout and flakes easily with a fork.
+ Show details− Hide details
Ready when: Fish is opaque and flakes easily; an instant-read thermometer in the thickest part reads 145°F (63°C).
Tip: Don't stir after adding the fish. Move the pot gently if needed, and spoon broth over any exposed pieces.
Rest fish, hydrate couscous
- Turn off the heat, keep the pot covered and let the fish rest 5 minutes.
- Meanwhile, put the couscous, 1 teaspoon salt and 2 tablespoons olive oil in a large heatproof bowl and rub together with your fingertips to coat the grains.
- Pour in 2½ cups (590 ml) boiling water, stir once, cover tightly with a plate and leave for 5 minutes.
+ Show details− Hide details
Ready when: All the water is absorbed and the grains are tender with no hard, dry centers.
Tip: Oil first, then water. Coating the grains keeps them separate and not clumpy.
Fluff and finish
- Fluff the couscous with a fork, raking through gently to break up any clumps.
- Uncover the pot and carefully stir the lemon juice (from 1 lemon) into the broth around the fish, taking care not to break up the fillets.
- Taste the broth and adjust with salt or harissa.
+ Show details− Hide details
Ready when: Couscous grains are light, separate and fluffy; broth tastes bright and balanced.
Tip: Add the lemon at the end. Cooking it for long makes the broth taste dull and sour.
Serve
- Mound about 1 cup of couscous in each of 6 wide, shallow bowls.
- Top each with a piece of fish, a share of the potatoes, carrots, zucchini and chickpeas, and ladle plenty of broth over and around.
- Scatter with cilantro and serve with lemon wedges and extra harissa on the side.
+ Show details− Hide details
Tip: Serve right away. The couscous soaks up the broth as it sits.
Good to know
Tips
- Keep the broth at a gentle simmer once the fish goes in. Hard boiling toughens the fish and breaks it apart.
- Season the broth boldly before adding the fish, because the couscous and fish will absorb a lot of flavor.
- Cut the fish into evenly sized pieces so everything finishes cooking at the same time.
- Serve extra harissa at the table so each person can adjust the heat.
Make ahead
Make the broth with the potatoes, carrots, zucchini and chickpeas (steps 1 and 3–6) up to 2 days ahead and refrigerate. Reheat to a gentle simmer, then add the fish and continue from step 7. Cook the couscous fresh just before serving.
Storage & reheating
Store the fish and vegetables in broth separately from the couscous in airtight containers. Refrigerate up to 2 days. Reheat the broth and fish gently in a pot over low heat for 5–8 minutes, or in the microwave in 60-second bursts at 50% power, until hot (165°F/74°C). Reheat couscous with a splash of water, covered, in the microwave. The broth (without fish) freezes up to 2 months; the fish and potatoes don't freeze well. Don't leave leftovers at room temperature more than 2 hours.
Substitutions
- harissa paste → Tunisian-style chili paste or 1 tbsp sambal oelek plus ½ tsp smoked paprika. Adjust to taste; heat and saltiness differ by brand.
- firm white fish fillets (cod, halibut or snapper), about 1½ inches (4 cm) thick → Bone-in fish steaks (such as grouper or monkfish) or large peeled shrimp. Steaks need about 10 minutes. Shrimp need only 3–4 minutes until pink and opaque.
- medium-grain couscous (not pearl/Israeli) → Pearl (Israeli) couscous, simmered separately according to package directions. Cook it in salted water, then drain; the texture is chewier.
- ground caraway → Ground fennel seed or extra cumin. Caraway is traditional in Tunisian spice blends; fennel is milder.