Step 1Make an onion puree by heating 2 tablespoons of the oil in a large pan over medium heat, adding the onions and cooking until golden brown, about 30 minutes. Cool slightly, then place in a blender or food processor and puree until smooth. Set aside.
Step 2Heat a heavy pan. Add the remaining 2 tablespoons of oil, the garlic, cumin seeds and ajowan seeds and cook until lightly browned, about 3 to 4 minutes. Add the onion puree, ground coriander, ground cumin, turmeric and chile powder and cook until bubbling. Add the coconut milk, tomato puree, grated coconut powder, salt and pepper.
Step 3Cook 5 minutes, then add the shrimp and cilantro. Cook 7 to 10 minutes, or until the shrimp are cooked through. Add salt and pepper to taste.
Step 4Serve in a medium bowl, garnished with a sprig of cilantro and a sprinkle of grated coconut powder on top. Accompany with steamed basmati rice.