Preheat oven to 350°F. Line a baking sheet with foil or parchment paper. Combine the beef, uncooked rice, egg, garlic, salt, pepper, cumin, chili powder and cilantro to a bowl. Mix until well combined (you will need to use your hands).
Then use a small cookie scoop or Tablespoon and roll the meatballs. Place on pan. You should have about 30 mini meatballs. Bake for 10 minutes. You don't want to cook them all the way, they will finish cooking in the soup.
For the soup
While the meatballs are cooking, add the olive oil to a large pot over medium-heat. Then add in onions and cook for 3 minutes. Next add the garlic, carrots and celery and sauté for 3-5 minutes.
Next add in the potatoes, broth, tomatoes, chili powder, cumin, oregano and cilantro. Add salt and pepper to taste. Bring to a light simmer on medium-low, stirring occasionally. Cook for 5 minutes. Then add the meatballs one by one (don't transfer grease from the pan). Cook an additional 10 to 15 minutes.
Season soup to taste. Ladle into bowls and enjoy with fresh cilantro on top if desired.
You can mix up the vegetables in this soup depending on what is in season. Some other vegetables we like to add are green beans, corn, peas and/or zucchini.Feel free to use ground turkey for a lighter option.