In a large bowl, combine ground beef, rice, mint/cilantro, onion, egg, garlic, cumin, oregano, salt, and pepper. Mix gently (don’t overwork).
Roll into 1-inch meatballs (about 20-24). Set aside.
Heat olive oil in a large pot over medium heat. Sauté onion and garlic until soft (3-4 mins).
Add carrot, celery, and zucchini (if using). Cook for 5 minutes.
Pour in broth, water, diced tomatoes, cumin, oregano, and bay leaf. Bring to a boil.
Gently drop meatballs into the boiling broth. Reduce heat to a simmer.
Cover and cook for 25-30 minutes, or until meatballs are cooked through and rice is tender.
Discard the bay leaf. Season with salt and pepper to taste.
Ladle soup into bowls. Garnish with fresh cilantro and a squeeze of lime. Serve with warm tortillas or crusty bread.