In a large bowl, combine ground beef, ground pork, minced onion, uncooked rice, egg, salt, pepper, and cumin. Mix well until everything is thoroughly combined.
Roll the meat mixture into small meatballs, about 1 inch in diameter. You should get about 20-25 meatballs.
In a large pot or Dutch oven, heat the chicken broth over medium-high heat. Add the diced tomatoes, chopped onion, and minced garlic. Bring to a simmer.
Add the diced potato and sliced carrots to the pot. Reduce heat to medium-low, cover, and simmer for 15 minutes, or until the potatoes are partially tender.
Gently add the meatballs to the simmering soup. Add the zucchini, dried oregano, and chili powder (if using).
Cover and simmer for another 15-20 minutes, or until the meatballs are cooked through and the vegetables are tender.
Taste and adjust seasoning if necessary. Ladle the soup into bowls.
Garnish with fresh cilantro and serve with a squeeze of lime juice.
Notes
This soup is even better the next day as the flavors meld together. You can also add other vegetables like corn or green beans. For a spicier soup, add a pinch of cayenne pepper.