Heat 2 tablespoons oil in a large pot or Dutch oven over medium. Add 1 diced onion and cook until starting to soften, about 5 minutes; season with ½ teaspoon each salt and pepper.
Add 3 tablespoons tomato paste, 2 minced cloves garlic, 2 teaspoons dried oregano, and 1 teaspoon cumin; cook 2 minutes, stirring constantly, until a fond forms on bottom of pot.
Add 3 sliced carrots then deglaze pot with 2 cups water, scraping up browned bits. Add 8 cups broth and 1 can diced tomatoes; bring to a boil over high heat then reduce to medium and simmer 5 minutes.
Gently drop meatballs into soup, one at a time, then cover and let simmer 20 minutes.
Gently stir in 1 zucchini cut into chunks and continue to cook, covered, until meatballs are cooked through, rice in meatballs is tender, and zucchini is fork-tender, 5–10 minutes more.
Off heat, stir in ½ cup chopped cilantro and season with salt and pepper to taste. Serve with lime wedges and any desired toppings.