In a large bowl, combine all the meatball ingredients and mix until fully incorporated. Shape into 1-inch balls. Arrange them in a single layer on a baking sheet, until ready to add to the soup. You should get approximately 25 – 28 meatballs.
Heat the oil in a large pot or Dutch oven over medium heat. Add the onions and sauté until they become translucent, about 3-4 minutes. Stir in the garlic and cook stirring constantly, for about a minute.
Stir in the carrots, celery and potatoes and sauté, stirring frequently for about 2-3 minutes.
Add the tomatoes with their juices, the broth, ground cumin and oregano. Bring to a boil, then lower the heat and simmer for 5 minutes.
Gently and slowly, drop the meatballs into the soup. Give it a gentle stir (be gentle, you don’t want to break up the meatballs). Cover the pot and cook on low for 15 minutes.
Stir in the green beans and zucchini and cook for 5-8 minutes or until the meatballs are cooked through and the vegetables are tender but firm.
Stir in the lemon juice, chopped cilantro, cayenne pepper (optional), and season to taste with salt and ground black pepper. Serve.