In a large skillet, heat 1 tablespoon of olive oil over medium heat. Add the chopped yellow onion and sauté until it becomes translucent, about 5 minutes. Season with 1/2 teaspoon of salt and 1/2 teaspoon of black pepper.
Stir in 1 tablespoon of minced ginger and 3 cloves of minced garlic. Sauté for an additional 1-2 minutes, allowing the flavors to meld and the garlic to become fragrant.
Mix in the ground coriander, ground cumin, ground turmeric, and optional cayenne pepper for a little heat. Stir well for about a minute to toast the spices and enhance their flavors.
Add 1 tablespoon of curry powder to the skillet, stirring it into the aromatic mixture. This will deepen the flavors and provide that signature curry taste.
Pour in the can of diced tomatoes (with juices) and stir to combine. Let this simmer for about 5 minutes, allowing the ingredients to marry and thicken slightly.
Add 1 pound of peeled and deveined shrimp and 1 (15-ounce) can of drained and rinsed chickpeas to the skillet. Stir everything together, ensuring the shrimp is well-coated in the spiced tomato mixture.
Pour in the 1 (15-ounce) can of full-fat coconut milk, stirring to incorporate it fully with the other ingredients. Bring the mixture to a gentle simmer, cooking for an additional 5-7 minutes or until the shrimp are pink and cooked through.
Once the shrimp are cooked, remove the skillet from heat and fold in 1/2 cup of chopped fresh cilantro. This adds a burst of freshness that brightens the entire dish.