Heat olive oil in a large pot over medium heat. Add onion and bay leaf; cook and stir until onion has softened, about 5 minutes. Add cumin, curry powder, turmeric and coriander; cook, stirring frequently, until fragrant, 1 to 2 minutes. Stir potatoes, chicken stock, water, tomatoes and seasoning into the pot; bring to the 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.