Remove the prawn heads. In a medium saucepot, bring the prawn heads, shells and 5 cups of water to a boil. Reduce the heat and simmer 20 minutes.
Meanwhile, heat the oil in a large skillet over medium heat until shimmering. Add the onions, garlic, ginger, and jalapeno, and cook, stirring occasionally, until golden brown, about 8 to 10 minutes.
While the vegetables cook, break the arbol chiles and ancho chile into pieces (remove the seeds, if you prefer less heat and spice), then grind in a spice grinder to a fine powder. Set aside.
Crush the tomatoes with your hands.
Add the turmeric, garam masala, and 2 teaspoons of the ground chile powder to the skillet. Reserve the remaining chile powder for another use. Saute the mixture for 30 seconds, then add the crushed tomatoes and 1/4 cup of the reserved tomato juice. Cook the mixture, stirring, until thickened and most of liquid is cooked out.
Strain the prawn shells from the water and discard the shells. The water is now a prawn stock. Add 2 cups of the prawn stock to the tomato mixture and bring the mixture to a simmer. The remaining prawn stock can be cooled and frozen for future use. Simmer the tomato mixture, uncovered, for 10 minutes.
Add the prawns to the skillet and cook, stirring gently, until just cooked through, about 4 minutes. Reduce the heat to low, then add the heavy cream and fresh dill. Let the mixture simmer, for 2 minutes more, stirring gently. Season with salt, and pepper, to taste. Serve the masala with warm naan.
This sweetens the tomatoes and helps bring all the flavors together.