Ingredients
Method
Preparation
- In a medium bowl, combine the ground meat, grated Parmesan, breadcrumbs, egg, minced garlic, parsley, salt, pepper, and red pepper flakes if using. Mix gently with a fork or hands.
- Shape the mixture into 1-inch meatballs (about 20–24).
Cooking the Meatballs
- Heat 2 tablespoons of olive oil in a large skillet over medium-high heat. Brown the meatballs in batches, about 2 minutes per side. Transfer browned meatballs to a plate.
Building the Soup Base
- In a large Dutch oven or heavy pot, heat 2 tablespoons olive oil over medium heat. Add the onion, carrot, and celery. Sauté until softened, about 6–8 minutes.
- Toss in the minced garlic and cook for 30–45 seconds until aromatic.
Adding Ingredients
- Pour in the crushed tomatoes and broth, scraping the bottom of the pot to release browned bits. Stir in the white beans, oregano, and basil. Bring to a simmer.
Simmering the Soup
- Gently nestle the browned meatballs into the soup. Cover and simmer for 12–15 minutes until the meatballs are cooked through.
Finishing Touches
- Stir in the spinach or kale until wilted, about 2–3 minutes. Taste and adjust seasoning with salt, pepper, and lemon juice if desired.
- Serve hot, garnished with extra Parmesan and parsley, with crusty bread on the side.
Notes
Make meatballs ahead and freeze raw for up to 3 months. For a lighter option, swap ground turkey. To brighten flavors, add a teaspoon of balsamic vinegar.
