Heat the olive oil in a large pot over medium heat. Add the diced onion and cook until it softens, about 5 minutes.
Stir in the minced garlic, curry powder, and cumin. Cook for 1 minute until the spices become fragrant.
Pour in the diced tomatoes with their juices, then add the kidney beans, coconut milk, and vegetable broth. Stir to combine.
Bring the mixture to a gentle simmer and cook uncovered for 15 minutes, stirring occasionally, until the stew thickens slightly.
Add the fresh spinach and stir until it wilts, about 2 minutes. Taste and season with salt and pepper as needed.