
Harissa Lamb Meatballs with Roasted Zucchini and Tomatoes
Warm smoky heat, blistered cherry tomatoes that burst when you look at them, and lamb meatballs that are unapologetically bold. Harissa does most of the heavy lifting here; it's a North African chili paste that packs complex heat, smokiness, and depth into a single ingredient. We keep a jar in the fridge at all times. If you've never cooked with it, this is your gateway recipe. The meatballs come together fast, the vegetables roast alongside them, and the whole thing is done in under 45 minutes with minimal active effort.
- PRO
- GF
- DF
- 1-PAN
Estimated macros per serving
Calories ~450 · Protein ~25g · Carbs ~11g · Fat ~36g
Ingredients
For the meatballs:
- 1 pound ground lamb
- 2 tablespoons harissa paste (adjust to your heat tolerance)
- 2 cloves garlic, finely minced
- 1 teaspoon ground cumin
- 1 teaspoon ground coriander
- ¼ cup almond flour
- 1 large egg
- Salt and freshly ground black pepper
For the roasted vegetables:
- 2 medium zucchini, cut into ½-inch half-moons
- 1 pint cherry tomatoes
- 1 small red onion, cut into thin wedges
- 2 tablespoons extra-virgin olive oil
- Fresh parsley or cilantro, for serving
- Kosher salt and freshly ground black pepper, to taste
Method
- Preheat your oven to 425°F (220°C). Line a large rimmed half-sheet pan (18×13 inches) with parchment paper.
- In a medium bowl, combine the ground lamb, harissa paste, garlic, cumin, coriander, almond flour, egg, ¾ teaspoon salt, and a few grinds of pepper. Mix gently with your hands until just combined. Don't overwork it or the meatballs will be dense.
- Roll the mixture into roughly 16 meatballs, about 1½ inches each. Wet your hands slightly to keep them from sticking.
- Toss the zucchini, cherry tomatoes, and red onion wedges with the olive oil, salt, and pepper on the prepared sheet pan. Spread them out as widely as possible, then tuck the meatballs among the vegetables in a single layer — meatballs should not be stacked or touching. If your pan looks crowded, roast the vegetables for 10 minutes first, then add the meatballs.
- Roast for 22–25 minutes, rotating the pan and turning the meatballs halfway through cooking. The meatballs are done when they're browned on the outside and register 160°F (71°C) internally. The cherry tomatoes should be blistered and collapsed, and the zucchini edges should be golden.
- Scatter fresh parsley or cilantro over the top. Serve directly from the pan.
Variations & Notes
- Vegan Swap: Replace the lamb with a mixture of 1 (15-ounce) can drained chickpeas (mashed roughly) and ½ cup cooked quinoa. Add the same spices, use a flax egg (1 tablespoon ground flax + 3 tablespoons water, rested 5 minutes), and increase the almond flour to ⅓ cup. Bake until firm, golden, and holding their shape when gently pressed, 20–25 minutes.
- Extra Hungry: Serve over a bed of cauliflower rice or white rice.
- Substitutions: Ground beef or turkey works if lamb isn't your thing, but the flavor profile changes: lamb and harissa are really good together. If you can't find harissa, mix 1 tablespoon tomato paste with 1 teaspoon smoked paprika and ½ teaspoon cayenne as a rough stand-in.
- Storage: Meatballs keep in the fridge for 4 days. Freeze uncooked meatballs on a parchment-lined tray, then transfer to a bag: they'll keep for 3 months. Bake from frozen at 400°F, adding 15–20 minutes to the cook time and confirming 165°F in the center — frozen-through meatballs need real extra time.