Heat up avocado or canola oil in a deep skillet. Add onions and cook for a few minutes until soft but not brown.
Add ginger, garlic, cumin and coriander. Keep cooking and stirring until fragrant, a minute or so. Add tomatoes and coconut milk and cook covered for about 5 minutes.
Remove about a cup of tomato-onion mixture, let cool slightly and blend it using an immersion blender. This step will thicken the sauce and add a more intense flavor.
Pour the blended mixture back in the skillet. Add raw shrimp, baby spinach and pepper flakes. Cover and cook for about 3 minutes, then stir together and cook until shrimp is pink and spinach is wilted but still bright green.
Taste and season with salt and pepper. Note: canned tomatoes are usually already salted so taste before salting.
Serve over cilantro cauliflower milk and garnish with remaining ½ tablespoon chopped cilantro.