In a large pot, heat the olive oil over medium heat. Add the onion and garlic and cook until softened, about 5 minutes.
Add the chicken to the pot and cook until browned on all sides, about 5 minutes.
Pour in the chicken broth and bring to a boil. Reduce heat to low and simmer for 30 minutes.
Add the escarole, diced tomatoes, oregano, basil, salt, and pepper to the pot. Cook for an additional 30 minutes.
Serve the soup hot, topped with grated Parmesan cheese.