Heat the oil in a large skillet over medium heat until shimmering. Add the toasted cumin seeds and cook until fragrant, about 30 seconds.
Add the chopped onion and cook, stirring often, until translucent and slightly golden, about 5-7 minutes. The aroma should turn sweet and nutty.
Stir in the minced garlic and grated ginger, cooking for another minute until fragrant. The mixture should smell pungent and inviting.
Add the ground coriander, turmeric, and garam masala. Toast the spices for about 30 seconds, stirring constantly, until they release a smoky aroma.
Pour in the chopped tomatoes and cook until they break down, the oil begins to shimmer, and the mixture deepens in color—about 8-10 minutes.
Add the prepared fresh shrimp to the skillet, stirring to coat them in the sauce. Cook for 3-4 minutes until they turn pink and opaque, jiggling slightly when moved.
Stir in the yogurt or coconut milk, cooking for another minute until the sauce thickens slightly and the shrimp are fully coated. Be careful not to let it boil vigorously to prevent curdling.
Squeeze fresh lemon juice over the dish, season with salt to taste, and stir gently to combine. The sauce should be vibrant, fragrant, and slightly thickened.
Remove from heat and let rest for 2-3 minutes. Garnish with chopped cilantro and serve hot with rice or naan, enjoying the juicy, flavorful bites with oceanic brightness.