In a large saucepan, heat 2 tablespoons of the olive oil. Add the onion and all but 1 cup of the sliced fennel, season with salt and pepper and cook over moderately low heat, stirring frequently, until softened but not browned, about 10 minutes. Add 6 cups of water and bring to a boil. Cover partially and simmer the soup until the fennel is very tender, about 15 minutes.
Meanwhile, in a small skillet, melt the butter in the remaining 1 tablespoon of olive oil. Add the remaining sliced fennel and season with salt and pepper. Cook over moderately high heat, stirring occasionally, until the fennel is tender and lightly caramelized, about 5 minutes. Keep warm.
Transfer the soup to a blender; puree in 2 batches until smooth. Wipe out the saucepan.
In a medium bowl, beat the eggs with the lemon juice. Whisking constantly, slowly drizzle 2 cups of the hot soup into the eggs. Return all of the soup to the saucepan and stir over moderately low heat just until thickened, about 2 minutes. Season with salt and pepper. Ladle the soup into bowls, top with the caramelized fennel and chopped fennel fronds and serve.