In a medium stock pot, saute ham in oil and butter until lightly browned, about 5 minutes, add onion, celery, carrots and garlic over medium heat, until vegetables are softened, not brown.
Add chicken broth and seasonings; simmer 15-20 minutes.
Stir in cannellini beans, spinach and parsley.
Cook briefly just until spinach wilts, about 2-4 minutes.
Remove from heat.
In a small bowl, combine eggs and Parmesan with a whisk, I like to temper the egg/cheese mixture by adding 2 Tablesppons of the hot liquid from the soup, to the egg/cheese and stir quickly after each addition, then add egg mixture into the soup and stir until smooth.