Heat the oil in a large straight-sided skillet over medium-high heat. Add the cumin seeds and red chiles and cook, stirring, until the fragrant, about 30 seconds. Add the onion and cook, stirring, until lightly browned, about 5 minutes. Add the coriander, ginger, garlic, cumin, turmeric, and cayenne and season with salt and pepper. Cook, stirring occasionally, until dark and fragrant, about 3 minutes more. Add the tomatoes and cook, stirring occasionally, until somewhat soft, about 3 minutes. (You can make the sauce up to this point a day ahead.)
When ready to serve, heat the sauce over high heat. As soon as it starts to bubble on the edges, add the shrimp and cook, stirring, until the shrimp turns opaque. Lower the heat, gradually stir in the yogurt, and gently heat it through. (Don't bring it to a boil or the yogurt may separate.) Season with salt and pepper, transfer to a serving platter, and sprinkle with the cilantro and green chiles. Serve.