Heat olive oil in a large pot over medium heat. Add onion and bay leaf; cook and stir until onion is translucent, about 5 minutes. Add cumin, curry powder, turmeric, and coriander; cook, stirring frequently, until fragrant, 1 to 2 minutes. Stir potatoes, chicken broth, water, canned tomatoes, and seasoning into the pot; bring to a boil.
Reduce heat and simmer until potatoes are mostly cooked through, about 15 minutes. Add spinach; stir well to combine. Mash some of potatoes to thicken soup. Continue cooking until potatoes are soft, about 10 minutes more.