In a large bowl, combine ground beef, breadcrumbs, Parmesan cheese, parsley, egg, garlic, salt, and black pepper. Mix until well combined. Roll the mixture into small meatballs, about 1 inch in diameter, and set aside.
In a large pot, heat the chicken broth over medium-high heat. Once it begins to simmer, carefully add the meatballs to the pot. Allow them to cook for about 10 minutes, stirring occasionally to prevent sticking.
Add the diced onion, carrots, and celery to the pot. Stir and let cook for an additional 5 minutes until the vegetables start to soften.
Stir in the orzo pasta, dried oregano, and dried thyme. Cook for about 10 minutes, or until the orzo is tender.
Once the orzo is cooked, add the chopped spinach or kale to the pot. Stir until just wilted, about 2 minutes. Season with additional salt and pepper to taste.
Ladle the soup into bowls and serve hot. If desired, sprinkle with more grated Parmesan cheese on top.
This soup can be made in advance and stored in the refrigerator for up to 3 days. Reheat before serving.
For a gluten-free option, substitute orzo with gluten-free pasta.
Feel free to add other vegetables such as peas or bell peppers for additional flavor and nutrition.