Back to Recipes
Dinner·Moroccan·Easy·

Moroccan chickpea and vegetable tagine, 18g protein in 35 minutes

A vegan one-pot Moroccan tagine with chickpeas, sweet potato, and apricots. 18g of protein, 12g of fiber, 420 kcal per bowl, ready in 35 minutes from pantry staples.

10m
prep
25m
cook
4
servings
Easy
effort
Nutrition Facts
Per serving · 4 total
420
kcal
18g
Protein
64g
Carbs
11g
Fat
12g
Fiber
Method
  1. 1

    Heat the olive oil in a large heavy pot or Dutch oven over medium heat. Add the onion with a pinch of salt. Cook for 5 minutes, stirring occasionally, until softened and starting to color at the edges.

  2. 2

    Add the garlic and ginger. Cook for 60 seconds, stirring, until fragrant.

  3. 3

    Add the cumin, coriander, paprika, cinnamon, turmeric, and cayenne. Toast in the oil for 60 to 90 seconds, stirring constantly, until the spices darken slightly and smell deeply aromatic. This is the step that turns a stew into a tagine.

  4. 4

    Stir in the tomato paste. Cook for 1 minute, until it darkens from bright red to brick red.

  5. 5

    Add the sweet potato cubes, chickpeas, crushed tomatoes, dried apricots, vegetable broth, and 1/2 teaspoon of salt. Stir to combine. Bring to a gentle boil.

  6. 6

    Reduce heat to medium-low. Cover and simmer for 15 minutes, stirring once at the halfway point.

  7. 7

    Add the zucchini cubes. Re-cover and simmer for 5 more minutes, until the sweet potato is fork-tender and the zucchini is just cooked through.

  8. 8

    Stir in the spinach a handful at a time, letting each handful wilt before adding the next. This takes about 2 minutes total.

  9. 9

    Off the heat, stir in the lemon juice. Taste and adjust salt and lemon to your preference.

  10. 10

    Ladle into 4 bowls. Top with cilantro, parsley, and toasted almonds if using. Serve with couscous, flatbread, or on its own.

Notes

A tagine is the Moroccan version of a pot stew: warm spices, slow-cooked vegetables, a sweet-savory balance from dried fruit, and a finishing burst of fresh herbs. This vegan version uses chickpeas as the protein anchor, sweet potato as the carbohydrate, and a five-spice base of cumin, coriander, paprika, cinnamon, and turmeric that toasts in oil for 90 seconds before any liquid hits the pot.

Total time is 35 minutes start to finish. It serves 4, freezes well for a month, and lands at 18g of plant protein and 12g of fiber per bowl for 420 kcal. The flavor density makes it the dinner you crave on a cold weeknight; the macros make it a fat-loss-friendly meal that does not feel like dieting.

Why this tagine works

Most vegan stews sit at 8 to 12g of protein per bowl, which is fine for a side and short on satiety for a main. The double-can-of-chickpeas approach pulls the protein to 18g, while the sweet potato adds bulk and slow-release carbohydrate, and the spinach finishes the bowl with iron and folate. The result is a single-bowl meal that holds you to bedtime instead of leaving you raiding the kitchen at 9 PM.

Three structural moves separate this from the version that tastes flat:

  1. Toast the spices in oil for 60 to 90 seconds. This is the single biggest flavor lever. Cumin and coriander have aromatic compounds that only release when heated dry in fat, not when stirred into water-based liquid. The kitchen will fill with smell about 60 seconds in. That smell is the signal to move on; another 30 seconds and the spices burn.

  2. Two cans of chickpeas, not one. The protein math matters. 800g of cooked chickpeas across 4 servings hits 18g of protein per portion. Halving it to one can drops the protein to 11g per bowl, which is a snack, not a dinner.

  3. Apricots, not raisins or dates. Dried apricots have a tartness that balances the sweetness, where raisins lean too sweet and dates turn into mush. The 60g amount sits in the background, not as a sweet element you taste, but as the thing that keeps the dish from being one-note savory.

For where chickpeas fit in a weekly protein rotation, the protein per day post covers the target. A bowl of this with a side of Mediterranean tuna salad or Greek yogurt for dessert lands cleanly in a 100g protein day for an 80kg adult.

The macros that matter

Per bowl (1 of 4 servings)Amount
Calories420
Protein18g
Carbs64g
Fat11g
Fiber12g

That is 4.3g of protein per 100 kcal, which is not exceptional in absolute terms but is impressive for a vegan dish without added protein powder. The 12g of fiber is what carries the satiety: one bowl of this fills you the way two bowls of pasta primavera do, for the same calories.

If you serve over 100g of cooked couscous (a typical Moroccan pairing), the bowl lands at about 540 kcal, 22g of protein, and 13g of fiber. With flatbread (1 medium piece adds 180 kcal), about 600 kcal total. Both pair cleanly; the tagine sauce is built to soak into starch.

How this differs from the existing curries

The catalog already has coconut chickpea curry and one-pot red lentil dal. All three are vegan, all three are pantry-friendly, all three are dinner-sized.

This is the third corner of the triangle:

  • Moroccan, not Indian. The spice base is cumin, coriander, paprika, and cinnamon, with no curry powder, no garam masala, and no fenugreek. The flavor profile is warmer and sweeter, less hot and less complex.
  • Tomato-based, not coconut-based. The body comes from crushed tomatoes and broth, not from coconut milk. That makes it lower in fat (11g vs. 16g per bowl) and lower in saturated fat specifically. Closer in feel to a Mediterranean stew than a creamy curry.
  • Sweet-savory, not purely savory. The dried apricots and cinnamon push it toward a North African flavor profile that the other two lack. The first time you eat this, the warmth-without-heat is the surprise.

All three work for different cravings. Chickpea curry is the quickest. Red lentil dal is the silkiest. This tagine is the most aromatic and the most filling per calorie.

Swaps and add-ons

  • Different vegetables. Carrots (200g, sliced into 1cm coins, added with the sweet potato) make a more traditional version. Bell peppers (1 large, added with the zucchini) add color and crunch. Butternut squash works in place of sweet potato (same weight, same cook time, slightly less sweet).
  • More protein. Add 100g of red lentils with the broth at the simmer stage. Adds 50 kcal, 7g of protein, and 4g of fiber per bowl. Pushes total protein to 25g per portion.
  • No dried apricots. Use 60g of pitted dates, roughly chopped. Sweeter; works fine. Or skip the dried fruit entirely and add 1 tablespoon of honey or maple at the end. The dish loses some authenticity but stays balanced.
  • More heat. Double the cayenne, or stir in 1 to 2 teaspoons of harissa paste during the spice toast. Harissa is the authentic Moroccan move; it adds smoke as well as heat.
  • Preserved lemon. Stir in 1 tablespoon of finely chopped preserved lemon at the end (in place of the fresh lemon juice). Game-changing if you can find it; transforms the dish from "very good" to "tastes like a Marrakesh restaurant."
  • Add an egg. A poached egg dropped on top of each bowl turns this into a brunch dish. Adds 70 kcal and 6g of protein. Particularly good if you serve over couscous.
  • Make it in a slow cooker. Toast the spices in a skillet first (do not skip this step), then transfer everything to a slow cooker. 4 hours on low or 6 hours on high. Add the spinach in the last 15 minutes.
  • Make it in an Instant Pot. Use the saute function for the spice toast and tomato paste step. Then add everything except the zucchini and spinach, pressure-cook on high for 8 minutes with natural release. Add zucchini and simmer 5 minutes on saute, then stir in spinach.
  • Freeze for later. This freezes beautifully for up to a month. Portion into 4 single-serving containers. Reheat from frozen in a covered saucepan over medium-low with a splash of water, about 12 minutes, stirring every 3 minutes.

What not to do

  • Do not skip the spice toast. This is the difference between a great tagine and a forgettable stew. 90 seconds of attention here is worth more than any other step in the recipe.
  • Do not boil the spinach. Stir it in off-direct-heat in handfuls and let it wilt in the residual heat. Boiling spinach turns it gray and strips the iron.
  • Do not pre-cook the chickpeas any further. Canned chickpeas are already cooked. The 20-minute simmer here is for sweet potato to become tender, not to "finish" the chickpeas. Long-simmered canned chickpeas turn mushy and lose texture.
  • Do not skimp on the lemon at the end. Tagine without the finishing acid tastes heavy and slightly cloying. The 1 tablespoon of lemon juice is what brightens everything; do not skip it even if you "do not like lemon," because you will not taste it as lemon, you will taste it as balance.
  • Do not use a thin pot. The 25-minute simmer needs a heavy bottom to prevent scorching. A Dutch oven is ideal. A thin saucepan will burn the spices into the bottom and ruin the flavor.
  • Do not add salt early in heavy doses. Apricots, tomato paste, broth, and chickpeas all bring sodium. Start with 1/2 teaspoon and adjust at the end. A salty tagine cannot be unsalted.

Where this fits in a calorie-managed week

The tagine is the dinner that pulls double duty: 4 servings made on Sunday produce dinner Sunday plus 3 weeknight lunches that reheat in 3 minutes. At 420 kcal per bowl, it sits comfortably inside a fat-loss day, and the 12g of fiber makes the afternoon less hungry than most lunch options.

Pair with chocolate cottage cheese protein pudding or strawberry banana protein nice cream for dessert and you have a 600 to 700 kcal meal that hits 30+ grams of protein and 15+ grams of fiber. That is satiety territory; the kind of dinner that does not require willpower at 9 PM.

For the broader logic of why high-fiber vegan meals beat lower-fiber meat-based meals at the same calorie load for satiety, high-volume low-calorie foods covers the mechanism. The tagine is one of the cleanest applications of that principle in this catalog.

✦ Try Calow
Log this in two seconds.
Snap the plate, the AI reads the macros, you eat. No mental math on the cooking oil.
Download on theApp Store