In a large pot, heat the olive oil over medium heat.
Add the onion and garlic, sautéing until the onion is translucent, about 3-4 minutes.
Add the carrot and celery, cooking for an additional 3-4 minutes until softened.
Pour in the chicken broth and bring to a simmer.
Stir in the oregano, basil, salt, and pepper.
Add the pasta and cook according to package instructions until al dente.
While the pasta cooks, in a bowl, combine the ground beef or sausage, Parmesan cheese, parsley, and a pinch of salt and pepper. Form the mixture into small meatballs, about 1 inch in diameter.
Once the pasta is cooked, gently add the meatballs to the soup.
Simmer for about 10 minutes until the meatballs are cooked through.
Stir in the spinach or kale and the beaten egg, mixing well.
Cook for an additional 2-3 minutes until the greens are wilted and the egg is cooked.
Serve hot, garnished with extra Parmesan cheese if desired.