Go Back
Creamy Moroccan Tomato Soup

Creamy Moroccan Tomato Soup

Creamy Moroccan Tomato Soup is a silky, spiced bowl of comfort that blends fire roasted tomatoes, warming smoked paprika and cumin, and a touch of harissa for heat. Enriched with full fat coconut milk and finished with fresh cilantro and optional crumbled goat cheese, it makes an easy weeknight dinner that still feels special.
Prep Time 15 minutes
Cook Time 25 minutes
Total Time 40 minutes
Course Soups
Cuisine Moroccan
Servings 6 servings
Calories 250 kcal

Equipment

  • Large soup pot
  • Blender
  • Wooden Spoon

Ingredients
  

  • 3 tablespoons extra virgin olive oil Sauté in the pan to create a flavorful fat base that carries aromatics and spices throughout the soup; adds richness and a silky mouthfeel when combined with the coconut milk.
  • 1 small yellow onion, chopped Sweat until translucent to build sweetness and depth; provides a mellow onion backbone that balances the tomatoes and harissa heat.
  • 3 cloves garlic, smashed Crush and lightly cook to release pungent, aromatic oils; contributes sharp, savory notes that brighten the overall flavor profile.
  • kosher salt and black pepper Season liberally during cooking and to taste at the end to enhance and balance flavors; adjusts seasoning levels and controls perceived spiciness and sweetness.
  • 2 tablespoons fresh thyme leaves Strip and add fresh leaves near the end of cooking to contribute bright, herbaceous notes; offers subtle lemony and minty undertones that lift the tomato base.
  • 1 teaspoon smoked paprika Toast briefly in the oil to unlock smoky warmth and complexity; reinforces the Moroccan profile and amplifies roasted tomato character.
  • 1/2 teaspoon ground cumin Bloom in oil to release earthy, warm aromatics that deepen the soup; pairs well with smoked paprika to add subtle spice complexity.
  • 2 (28 ounce) cans diced fire roasted tomatoes Pour in with their juices to form the core body of the soup; fire roasted tomatoes add acidity, sweetness, and smoky depth for a robust tomato base.
  • 2 -3 tablespoons harissa sauce Stir in incrementally to introduce controlled chile heat and fermented complexity; adjusts the soup's spice level and adds North African flair.
  • 2 teaspoons honey, or real maple syrup Whisk or stir in to provide a touch of sweetness that balances acidity and heat; helps round flavors and enhance the perception of savory notes.
  • 1 can (14 ounce) full fat coconut milk Pour and whisk in to lend creamy richness and a slightly sweet coconut undertone; creates a smooth, velvety texture while keeping the soup dairy-free if preferred.
  • 1/4 cup fresh cilantro or basil, chopped Fold in chopped leaves as a finishing herb to introduce freshness and a bright green contrast; cilantro or basil offers aromatic lift and visual appeal.
  • 4 ounces goat cheese, crumbled (optional) Crumble over bowls as an optional tangy, creamy garnish to add richness and a slightly tart counterpoint; goat cheese melts slightly into the hot soup for pleasant texture contrast.
  • crispy chickpeas, for serving (optional) Top bowls with a crunchy element to add textural contrast and protein; crispy chickpeas bring nutty flavor and satisfying crispness to each spoonful.

Instructions
 

  • Heat the olive oil in a large soup pot over medium heat. When the oil shimmers, add the onion and garlic, and season with salt and pepper. Cook 5 minutes or until the onion is fragrant and beginning to caramelize. Add the thyme, paprika, and cumin, cook another minute. Stir in the tomatoes, harissa, and honey. Cook 5 minutes until bubbling. Pour in the coconut milk. Transfer the soup to a blender and puree until mostly smooth. Return the soup to the pot and place over medium heat, stir in the cilantro and half of the goat cheese, if using, and season the soup with salt and pepper. Thin with more coconut milk, if desired. Cook until warmed through, 5-10 minutes. To serve, ladle the soup among bowls and top with goat cheese, cilantro, and chickpeas. I recommend serving with a grilled cheese on the side!: The first sensory cue is the shimmer of warm olive oil that catches the light, signaling readiness. You should hear a soft ripple when a wooden spoon touches the oil, not loud popping. This gentle heat is important because it allows the onion to soften without burning, preserving sweetness. A common mistake is cranking the heat, which scorches and introduces bitterness instead of depth. If the oil smokes, lower the heat and start over to protect delicate flavors. Use a pot with a heavy bottom so heat distributes evenly, avoiding hot spots that could brown the onion unevenly.
  • When the oil shimmers, add the onion and garlic, and season with salt and pepper: Right after adding the chopped onion and smashed garlic , you will notice the sound changing to a gentle sizzle. The scent will shift from neutral oil to sweet, toasty aromatics within a few minutes. Stir frequently to ensure even cooking and scrape any fond off the bottom because those caramelized bits contain deep savory notes. If the garlic browns too quickly it will turn bitter, so keep the temperature moderate and add the garlic slightly after the onion if you see rapid color change. Salt early to help the onion release moisture and soften more quickly.
  • Cook 5 minutes or until the onion is fragrant and beginning to caramelize: As the onion cooks, watch for its edges to turn translucent and take on a soft golden tone, releasing a sweet, savory perfume. This gentle caramelization is crucial because it sweetens the base and balances the acidity of the tomatoes. If you rush this, the soup stays flat; if you overdo it, the notes can become burnt and bitter. Stir often and lower the heat if the pieces start to brown too aggressively. The ideal texture is tender but still holding shape, which will melt into the soup later after blending.
  • Add the thyme, paprika, and cumin, cook another minute: The moment you add the thyme , smoked paprika , and ground cumin , an aromatic burst should lift off the pot, warm and slightly smoky. Toasting spices for a short minute unlocks essential oils and deepens flavor, but it happens quickly, so watch closely. The smell will grow richer, and the spices will coat the softened onion , creating a layered base. Do not let this step run long, or the spices can become acrid. Stir constantly and breathe in the evolving perfume, which signals the right moment to move on.
  • Stir in the tomatoes, harissa, and honey: As you add the diced fire roasted tomatoes , the pot will hiss softly and a brightly acidic steam will rise. The harissa brings warmth and character, while the touch of honey balances acidity and rounds the palate. Swirl the mixture so the tomatoes release juices and deglaze the pan, lifting any browned bits. Let it bubble gently so flavors meld; this bubbling helps concentrate the tomato essence. A pitfall is adding too much harissa at once, which can overpower the soup, so start with two tablespoons and adjust after tasting once it is finished.
  • Cook 5 minutes until bubbling: During this short simmer you will notice the sauce thickening slightly and the aromas melding into a cohesive scent of sweet, smoked, and spicy notes. Small bubbles forming across the surface indicate the right temperature; a full rolling boil is unnecessary and can break down the tomato texture too aggressively. Keep the heat moderate and stir occasionally to maintain even consistency. If the mixture reduces too quickly, add a splash of water or reserved coconut milk to prevent scorching. This step concentrates flavors and prepares the soup for a silky finish.
  • Pour in the coconut milk: When you add the can of full fat coconut milk there is a visible change as the sauce softens and lightens, creating ribbons of cream as you stir. The mouthfeel shifts toward velvety, and the coconut aroma mingles subtly with the spices. Whisk gently to integrate, and use the coconut milk to adjust viscosity if the base is too thick. Avoid boiling aggressively after adding the coconut milk to prevent separation; a gentle simmer is best. If the coconut milk splits, lowering the heat and stirring vigorously can bring it back together.
  • Transfer the soup to a blender and puree until mostly smooth: As you transfer to a blender, notice the richer, warm steam and the intensified fragrance. Pureeing until mostly smooth creates a luscious texture that keeps a little body rather than becoming paper thin. Pulse and taste as you go so you do not overblend, which can affect mouthfeel. Be careful with hot liquids in a blender, vent the lid slightly or blend in batches to avoid pressure buildup. One mistake is sealing the blender completely, which can cause hot soup to erupt, so always use caution and a towel over the lid.
  • Return the soup to the pot and place over medium heat, stir in the cilantro and half of the goat cheese, if using: When the pureed soup returns to the pot, its color will glow richer and the texture will feel silky against your spoon. Stirring in chopped cilantro and half of the crumbled goat cheese at this stage brightens and softens the profile, allowing the cheese to melt into small creamy pockets. Warm gently to marry flavors, avoiding high heat that could dull the fresh herb lift. A common oversight is adding all toppings too early, which robs them of their fresh impact when serving, so reserve half for finishing.
  • Thin with more coconut milk, if desired: Taste and decide if you prefer a lighter, more broth like texture or a thicker, creamier bowl. Adding extra coconut milk mellows spice and creates a silkier sip; add in small increments until the mouthfeel suits you. Pay attention to temperature because thinning is easier when the soup is warm, and chilling slightly concentrates flavors. The main pitfall here is over thinning which can dilute flavor, so always re season with salt and pepper after adjusting consistency.
  • Cook until warmed through, 5 to 10 minutes: During this final warming stage the soup will steam gently and small bubbles will appear, signaling readiness. This keeps the flavors integrated and makes sure toppings melt slightly when plated. Stir occasionally to prevent sticking at the bottom, and taste to adjust salt and pepper. Avoid a vigorous boil because that can break the texture or cause separation of the coconut milk. When the aroma lifts and the surface shows gentle movement, the soup is ready to serve.
  • To serve, ladle the soup among bowls and top with goat cheese, cilantro, and chickpeas: The final moment is all about contrast, with warm, silky soup meeting cool, bright herbs and tangy, melting goat cheese . Scatter crispy chickpeas for crunch and a satisfying bite, and watch the colors and textures make the bowl inviting. A common mistake is adding toppings too early, which causes them to lose texture, so add them just before serving. I love to pair it with a grilled cheese on the side for dunking, but the soup stands on its own as a comforting, complete bowl.

Notes

  • Toast spices first: Blooming the smoked paprika and cumin in the warm olive oil for just a short minute releases aromatic oils and deepens the overall flavor, giving your soup a richer, more layered profile.
  • Control the heat with harissa: Since harissa brands range from mild to fiery, start with two tablespoons and taste after blending. You can always add more, but it is difficult to take heat away once it is in.
  • Keep texture with partial blending: I often puree until mostly smooth, leaving a little body so the soup feels hearty rather than completely uniform. This also helps it cling to toppings and makes each spoonful interesting.
  • Use fire roasted tomatoes: The charred notes from the canned fire roasted tomatoes add depth you will miss with plain tomatoes. They contribute a faint smokiness that complements the spices beautifully.
  • Finish with fresh herbs: Adding chopped cilantro or basil right before serving brightens the bowl and provides an herbal lift that contrasts the warm, spiced base.
  • Add crunch for balance: Crispy chickpeas or a small sprinkle of toasted seeds create a satisfying textural contrast to the silky soup, turning it into a more composed meal.
  • Store and reheat gently: The soup stores well for several days refrigerated. Rewarm slowly over medium low heat, stirring to keep the texture silky and to prevent separation of the coconut milk.
Keyword coconut milk tomato soup, creamy tomato soup recipe, harissa tomato soup, Moroccan tomato soup