Add the oil to a large, heavy-bottomed pot or dutch oven and heat over medium heat.
Add the onion, garlic, carrot, and celery. Saute until veggies are slightly soft, around 4 minutes.
Add the basil, oregano, and thyme. Cook for 1 minute.
Add the diced tomatoes, tomato paste, bay leaf, chicken or beef broth, and zucchini.
Bring to boil, then reduce heat and simmer 20-25 minutes.
Add salt and pepper. Taste soup, if it tastes flat, it needs more salt.
Add the meatballs to the soup and serve!