In a bowl, combine the shrimp, Greek yogurt, cumin, paprika, turmeric, cayenne pepper, 1 teaspoon of garam masala, and a pinch of salt. Mix well and marinate for at least 30 minutes.
Heat oil in a large skillet over medium heat. Add the onion and sauté until translucent, about 5 minutes.
Add the garlic and ginger to the skillet and cook until fragrant, about 1 minute.
Stir in the remaining 1 teaspoon garam masala and cook for another minute.
Pour in the crushed tomatoes and bring the mixture to a simmer. Cook for 10 minutes, allowing the flavors to meld.
Add the marinated shrimp to the skillet and cook until they are pink and opaque, about 5 minutes.
Reduce the heat to low and stir in the heavy cream. Cook for another 2 minutes to heat through.
Season with salt to taste and garnish with chopped cilantro before serving.