Peel and dice the onion. Peel, trim (cut the ends off) and dice the carrots. Trim and dice the celery.
Heat one tablespoon oil in a large pot over medium heat.
Add the onion, carrots and celery, plus the dried thyme and 1/2 teaspoon salt. Stir occasionally until softened, about 5-6 minutes.
Add the chicken broth and water to the pot. Turn the heat to high and bring the broth to a boil.
While you wait for the broth to boil, make the meatballs: In a large mixing bowl, add the beef, pork, egg, nutritional yeast, parsley, Italian seasoning, garlic powder, onion powder, 3/4 teaspoon salt and 1/2 teaspoon black pepper. Use your hands to blend everything together. Or add everything to the bowl of a stand mixer and blend using the paddle attachment on low speed.
Using a small cookie scoop or spoons, scoop out a scant tablespoon of the mixture onto a baking sheet. Set a glass of warm water next to the baking sheet and use it to get your palms damp. Then roll each meatball between your palms until it's shaped like a ball. You'll have to re-wet your hands every 5-6 balls or otherwise the mixture gets sticky.
Trim off and discard the root end of the escarole and chop into roughly 1" pieces.
Once the broth has reached a boil, carefully drop in the meatballs (I like to start in the middle and make my way around the pot in ever-widening circles) and then the greens.
Reduce the heat to medium so the broth is at a simmer. Cook for 10 minutes (starting from the time you dropped in the meatballs and veggies).
Taste the broth. If you used low-sodium chicken broth, it will probably need more salt and pepper. I usually add about 1/2 teaspoon more salt and 1/4 teaspoon more pepper.
Ladle into bowls and drizzle with extra virgin olive oil, if desired.