Heat olive oil in a large pot over medium heat. Add garlic cloves and cook for 5-7 minutes until golden but not browned. Add onion, cooking until soft, about 5 minutes.
Add broth, bay leaf, thyme, salt, and pepper. Bring to a boil, then simmer on low for 20-25 minutes until garlic is soft. Discard bay leaf.
Use an immersion blender to puree the soup until smooth. Alternatively, carefully blend in batches.
Whisk egg yolks and Parmesan in a bowl. Slowly add a ladle of hot soup to the mixture while whisking, then pour it back into the pot, stirring constantly. Heat on low to thicken, without boiling.
Ladle soup into bowls, garnish with bread cubes and parsley.
