These are ground beef meatballs seasoned with harissa paste and a full rack of warm spices — cumin, coriander, turmeric, cinnamon, ginger, and more — then simmered in a blended tomato-potato sauce that picks up the same spice profile. The honest reason to make this: one batch covers multiple meals with almost no extra effort, and the sauce only gets better after a day in the fridge.
The technique that matters
The most important step is blending the tomato sauce before the meatballs go in. An immersion blender turns the chunky tomato-and-potato base into a thick, cohesive sauce that clings to the meatballs rather than pooling around them. Do it while the sauce is hot and the potatoes are fully soft — undercooked potato chunks won’t blend smooth and will leave a gritty texture. The second thing worth getting right is browning the meatballs in a cast-iron skillet before they finish in the sauce. A proper sear sets the outside so the meatballs hold together during simmering; skipping it means they can break apart and turn the sauce grainy. Ground beef needs to reach an internal temperature of 160°F (71°C) — the sauce simmer handles this, but the sear gets you most of the way there and adds flavor the sauce alone can’t replicate.
What can go wrong
- Meatballs fall apart in the sauce: This usually means the mixture was too wet or undermixed. Make sure the egg and breadcrumbs are fully incorporated before shaping, and chill the formed meatballs for 15 minutes before searing if your kitchen is warm.
- Sauce tastes flat or one-dimensional: The spices need to bloom in the oil before the tomatoes go in — if you add everything at once to cold oil, the spices don’t open up. Give them 60 seconds in hot oil first.
- Sauce is too thin after blending: The potatoes are what thicken it. If your sauce looks watery, the potatoes weren’t cooked long enough before blending. Simmer an extra 5–10 minutes with the lid off after blending to reduce.
- Meatballs are dense and tight: Overmixing the meat develops too much protein structure. Mix just until the ingredients are combined — stop as soon as you don’t see dry spots.
- Too much heat for your household: Harissa pastes vary significantly in heat level by brand. Start with 1 tablespoon in the meatballs and taste the sauce before adding the full tablespoon there too. You can always stir in more; you can’t take it out.
Make-ahead notes
The fully cooked meatballs and sauce keep well in an airtight container in the fridge for up to 4 days — skip the yogurt sauce and any fresh garnish, and add those when you serve. For the freezer, portion the meatballs and sauce together into individual containers and freeze for up to 3 months; thaw overnight in the fridge. Reheat on the stovetop over medium-low heat with a splash of water or stock to loosen the sauce, stirring occasionally until everything is hot through and the beef hits 160°F again. The microwave works too — cover loosely and heat in 90-second intervals, stirring between each. The yogurt sauce is worth making fresh each time rather than storing it; it takes two minutes and the texture suffers after a day.
Harissa Meatballs: Spicy North African Beef Meatballs
Equipment
Ingredients
For the Meatballs
1 pound ground beef - minced beef, about 450g
1 medium egg - beaten
¼ cup breadcrumbs - unseasoned panko, about 30g
- 2 tablespoons harissa paste
1 teaspoon kosher salt
- 2 teaspoons black pepper - freshly cracked
2 teaspoons turmeric - ground
2 teaspoons paprika
2 teaspoons cumin - ground 2 teaspoons ground coriander
2 teaspoons onion powder
- 2 teaspoons granulated garlic
1 teaspoon ground ginger
1 teaspoon ground cinnamon
3 tablespoons olive oil
For the Tomato Sauce
- 1 can diced tomatoes with chilis - 10 oz / 283g
- 2 large Yukon Gold or russet potatoes - peeled and cut into 1-inch chunks, about 1 lb / 450g
- 1 tablespoon harissa paste
½ teaspoon kosher salt - adjust to taste
- 1 teaspoon black pepper - freshly cracked
- 1 teaspoon ground turmeric
1 teaspoon paprika
1 teaspoon cumin - ground 1 teaspoon onion powder
- 1 teaspoon granulated garlic
1 teaspoon ground coriander
1½ teaspoons ground ginger
½ teaspoon ground cinnamon
½ teaspoon red pepper flakes
- 1 teaspoon granulated sugar
1 tablespoon milk - or cream
1 tablespoon olive oil
½ cup water - or chicken stock ; about 120ml
Instructions
- In a large pot, heat 1 tablespoon olive oil over medium heat. Add the diced tomatoes with chilis, 1 tablespoon harissa paste, ½ teaspoon Kosher salt, 1 teaspoon black pepper, 1 teaspoon turmeric, 1 teaspoon paprika, 1 teaspoon cumin, 1 teaspoon onion powder, 1 teaspoon granulated garlic, 1 teaspoon coriander, 1½ teaspoons ground ginger, ½ teaspoon cinnamon, ½ teaspoon red pepper flakes, and 1 teaspoon sugar. Stir well to combine.1 tablespoon olive oil, 1 can diced tomatoes with chilis, 1 tablespoon harissa paste, ½ teaspoon kosher salt, 1 teaspoon black pepper, 1 teaspoon ground turmeric, 1 teaspoon paprika, 1 teaspoon cumin, 1 teaspoon onion powder, 1 teaspoon granulated garlic, 1 teaspoon ground coriander, 1½ teaspoons ground ginger, ½ teaspoon ground cinnamon, ½ teaspoon red pepper flakes, 1 teaspoon granulated sugar
- Using an immersion blender (only if desired, but I prefer my sauces velvety), puree all the sauce ingredients together until nothing solid remains.
- Add the potato chunks and pour in ½ cup (120ml) water or chicken stock. Increase heat to high and bring to a rapid boil, then cover and reduce heat to low. Simmer while you prepare the meatballs.2 large Yukon Gold or russet potatoes, ½ cup water
- In a large cast iron skillet, heat the other 3 tablespoons of olive oil over medium-high heat.3 tablespoons olive oil
- While the oil heats, in a large bowl, combine all the remaining meatball ingredients and fold gently, without overmixing, until all ingredients are well-combined. Form the mixture into 10-14 even-sized meatballs.1 pound ground beef, 1 medium egg, ¼ cup breadcrumbs, 2 tablespoons harissa paste, 1 teaspoon kosher salt, 2 teaspoons black pepper, 2 teaspoons turmeric, 2 teaspoons paprika, 2 teaspoons cumin, 2 teaspoons ground coriander, 2 teaspoons onion powder, 2 teaspoons granulated garlic, 1 teaspoon ground ginger, 1 teaspoon ground cinnamon
- Place the meatballs into the cast iron skillet and brown on all sides, but do not cook all the way through.
- Transfer the browned meatballs to a plate lined with paper towels to drain briefly. Remove the lid from the saucepot, stir in the milk or cream, then gently nestle the meatballs into the sauce.1 tablespoon milk
- Cover the pot and cook over medium-low heat for 30-40 minutes, or until the potatoes are fork-tender and the meatballs are cooked through (internal temperature of 165°F / 74°C). Check occasionally and add a splash of water if the sauce becomes too thick.
- Remove the pot from the heat and serve immediately.
Notes
Nutrition
Common questions
Can I use lamb instead of ground beef for this recipe?
Yes — ground lamb works well here and is actually the more traditional choice for North African-style meatballs. The fat content in lamb is slightly higher, so the meatballs will be a little richer; everything else in the recipe stays the same, and the internal temperature target of 160°F (71°C) applies to ground lamb too.
Where do I find harissa paste, and are all brands the same?
Harissa paste is stocked in most large supermarkets, usually in the international foods aisle or near hot sauces. Brands differ a lot in heat level and consistency — some are mild and almost sweet, others are aggressively hot — so if you’re using a new brand, taste a small amount before committing to the full quantity called for in the recipe.
Do I have to blend the sauce, or can I leave it chunky?
You can leave it chunky, but the texture of the finished dish will be noticeably different — more like a stew than a cohesive sauce. Blending is what makes the potatoes thicken the liquid and gives the sauce enough body to coat the meatballs properly; if you skip it, the sauce will be thinner and the spices won’t be as evenly distributed through every bite.
Try these next
- Spicy Beef Stuffed Peppers
- Moroccan Lamb Apricot Briouats
- Levantine Spiced Beef Flatbreads
- Spicy Lamb Pumpkin Stew
