Sauté chopped onion, celery, and garlic in butter in a large Dutch oven until tender. Add next 6 ingredients to Dutch oven; stir well. Bring mixture to a boil. Reduce heat; cover and simmer 3 hours.
Strain mixture through a sieve, pressing with the back of a spoon; discard excess pulp. Return soup to Dutch oven; stir in ham. Add salt and pepper, stirring well. Heat thoroughly. Remove and discard bay leaves.
Serve hot in individual bouillon cups. Garnish with sieved egg and a lemon slice.