Heat vegetable oil in a large saucepan over medium heat; cook and stir onions and cauliflower until slightly softened, about 3 minutes. Add garlic, ginger, coriander, cumin, turmeric, and cayenne pepper; stir to coat.
Stir tomatoes and vegetable broth into cauliflower mixture; season with salt and black pepper. Bring mixture to a boil, cover, and reduce heat. Simmer until flavors have blended, about 8 minutes. Stir spinach into mixture until it begins to wilt. Cover and simmer until spinach is completely wilted and cauliflower is tender, 8 to 10 minutes.