Before You Begin
Preheat and prepare your cookware as needed. Cooking times and results may vary depending on your equipment and ingredients.
In a bowl, gently mix meatball ingredients until just combined. Roll into 1–1½-inch meatballs.
Brown meatballs in a skillet or bake at 400°F (200°C) until lightly browned. Continue cooking until the internal temperature reaches 160°F (71°C) for beef or pork, or 165°F (74°C) for poultry.
Heat olive oil in a large pot over medium heat. Add onion, carrots, and celery and cook 5–7 minutes until softened.
Add garlic and cook 1 minute until fragrant.
Pour in broth, tomatoes (if using), Italian seasoning, and bay leaf. Bring to a gentle simmer.
Add meatballs and Simmer gently for 30–45 minutes until meatballs are fully cooked, tender, and the soup is hot throughout.
Remove bay leaf, taste, adjust seasoning, and serve warm.