Quarter and thinly slice the onion and fennel. Add 6 tablespoons of olive oil to a large soup pot and heat on medium heat. Add the sliced onions and fennel and sauté for about 4-5 minutes.
Meanwhile prepare the carrots and celery. Peel the carrots. Cut them in half lengthwise, then slice crosswise. Slice the celery. Add the carrots and celery to the soup pot and cook another 4-5 minutes. Stir in the tomato paste and wine. Let simmer another minute or two.
Pour the canned tomatoes in a mixing bowl and blitz with a hand blender. Add the canned tomatoes to the soup pot, along with the chopped herbs, bay leaves, sugar, stock, and a little salt and pepper. Bring to a boil, then let simmer about 30 minutes.
While you wait, make the torn bread croutons and pesto (if making homemade pesto). Break the bread into rough chunks with your hands. Toss them with a few tablespoons of olive oil and some salt. Scatter on a baking sheet and bake about 10 minutes at 350, either in the oven or toaster oven. Set aside.
If making pesto, combine pesto ingredients in a food processor. Taste and adjust for balance. I tend to add more nuts and less oil for a chunkier texture.
About 10 minutes before you want to serve the soup, drain and rinse the canned chickpeas. Place them in a big mixing bowl. Use a potato masher or wooden spoon to crush them somewhat. You’ll want some mashed and some whole. Add the crushed chickpeas to the soup pot. Leave to simmer about 5 more minutes. Taste for salt and pepper.
Ladle the hot soup into bowls. For each bowl, add several croutons and a few spoonfuls of pesto.