Heat oil in the bottom of a 4 to 5-quart pot over medium-high heat.
Once hot, add the cumin seeds and a few seconds later, the fennel seeds.
Pause 2 seconds and then add the onions and potatoes. Stir and sauté for 5 minutes.
Add the ginger, garlic and green chiles and stir for 1 minute more.
Turn the heat to medium low and add the ground coriander, cumin, turmeric and red pepper. Stir for 1 minute.
Add the cauliflower, tomatoes and salt and stir for 1 minute.
Add 3 cups water, stir, and bring to a boil over medium-high heat.
Cover, lower the heat again, and simmer gently for 25 minutes.
If the soup seems a little thick, add up to 1 cup more water, as needed.
Let the soup cool slightly, then blend it to your desired texture.
Taste for seasoning and adjust as needed.
Ladle into bowls and add a dollop of yogurt or tiny swirl of heavy cream, if desired.
Squeeze lime juice over, add a few grinds of black pepper and place 2 tablespoons cooked rice to the center of each bowl.
Scatter with cilantro and serve with pita wedges on the side, if desired.