This rustic soup marries tomatoes and fennel, a traditional pairing in Italy where fennel (or "finocchio", as it's called there) is king. If summer-ripe tomatoes happen to be in season, by all means use them instead of canned. You'll need about 8 cups of peeled, seeded, and diced fresh tomatoes. The fennel adds a subtle anise flavor, which together with the Indian spices makes this far more than an ordinary tomato soup.
Thinly slice the fennel and place in a medium saucepan with the water and salt. Bring to a boil over high heat, then reduce the heat to low, cover the pan, and simmer until the fennel softens, about 10 minutes. Set aside.
Place the coriander, fennel, mustard seeds, and peppercorns in a spice grinder and grind to a powder. This step can also be done with a mortar and pestle.
Heat the oil in a large saucepan over medium heat. Add the ground spices and onions, and cook, stirring frequently, until the onions soften, about 8 minutes. Add the garlic and cook, stirring frequently, until fragrant, about 2 minutes. Stir in the lemon juice, vinegar, reserved fennel with its cooking liquid, and tomatoes. Bring to the start of a simmer, cover the pan, and simmer over low heat, stirring occasionally, until the fennel is very soft, 20 to 30 minutes. If the mixture seems too dry, add water.
Cool the soup slightly, then purée in a food processor, blender, or with an immersion blender, until the mixture is somewhat smooth — the texture of the soup is your choice.
Transfer the soup to the saucepan and gently reheat. Season to taste with salt and pepper. Serve hot, garnished with a drizzle of olive oil and fennel fronds, if desired.