Combine first 5 ingredients in heavy medium saucepan. Cook over medium-high heat until onions begin to soften, stirring frequently, about 4 minutes. Reduce heat to low, cover, and cook until onions are very soft, stirring occasionally, about 40 minutes.
Add lemon juice and lemon peel; cook uncovered until most liquid is evaporated, stirring often, about 10 minutes. Season with salt and pepper. Can be made 1 day ahead. Cover and chill. Rewarm before serving.
Cook oil and curry powder in heavy small skillet over medium-high heat until curry powder darkens slightly, about 1 minute.
Transfer to small pitcher. Can be made 1 day ahead. Cover and chill.
Let stand at room temperature 1 hour before serving.
Mix yogurt, green onions, and chopped mint in medium bowl. Cover and chill. Can be made 6 hours ahead. Keep chilled.
Heat oil in heavy large pot over high heat.
Add next 5 ingredients. Cook until onion and cauliflower begin to brown, stirring often, about 5 minutes.
Add potatoes; stir 2 minutes.
Add turmeric and stir 1 minute.
Add broth and bay leaves. Bring to boil, reduce heat to medium, and simmer until vegetables are tender, about 10 minutes.
Add spinach and stir until wilted, about 1 minute.
Add tofu; heat until warmed through, about 1 minute. Season with salt and pepper. Discard bay leaves.
Divide soup among 6 bowls; sprinkle with chopped parsley.
Serve salsa, curry oil, and minted yogurt alongside.
*Nigella seeds are pungent and peppery, from a flowering plant of the same name. Also called kalonji or black onion seeds. Available at indianfoodsco.com.