In a mixing bowl, combine ground beef, Parmesan cheese, breadcrumbs, egg, minced garlic, oregano, salt, and pepper. Mix until well combined. Shape into small meatballs, about 1 inch in diameter.
In a large pot or Dutch oven, heat olive oil over medium heat. Add meatballs and brown on all sides for about 5-7 minutes. Remove meatballs and set aside.
In the same pot, add diced onion, carrots, and celery. Sauté until vegetables are soft, about 5 minutes.
Add the diced tomatoes (with juices), chicken broth, and green beans. Stir to combine and bring to a simmer.
Once simmering, gently add the browned meatballs back to the pot. Cover and allow to simmer for 15-20 minutes, or until the meatballs are cooked through.
Taste the soup and adjust seasoning if needed. Serve hot, garnished with fresh basil if desired.