In a heavy pot, heat the ghee or oil until shimmering. Add onion and cook slowly, stirring often, until golden, about 20 minutes. Add ginger, garlic, tomato paste, garam masala and chili powder. It should be thick, but not pasty; it should drip off a spoon. If too thick, add more ghee or oil. Cook until very fragrant, 3-4 minutes.
Add water and stir until smooth. Season to taste with salt and pepper. Add shrimp and poach gently until cooked through, 3-5 minutes.
Remove from heat and stir in yogurt. Serve over cooked jasmine or basmati rice.