Heat butter over medium heat, then add onion and cook until slightly softened.
Add ginger garlic paste and cook until nicely browned, about 5 minutes. Add 1 tablespoon of water as needed so paste doesn't burn. Add spices and cook for 1 minute.
Add tomato sauce, tomatoes, bell pepper, chickpeas, and salt. Mix everything well. Bring to a simmer over medium heat. Let the sauce simmer until it thickens slightly and turns a darker color, usually about 10 minutes. Stir occasionally. Reduce heat as needed so that the sauce remains at a simmer.
Stir in cream, lemon, and fenugreek and reduce heat slightly. Simmer for 5 more minutes, then add more salt to taste. Serve over rice or cauliflower rice with naan. Garnish with cilantro if desired.
Recipe Notes
To make ginger garlic paste: Add 1 deseeded jalapaneo, 1 1/2 tablespoons grated fresh ginger, and 5 cloves of garlic, to skillet over medium heat, then reduce the heat. Cook, stirring occasionally until the mixture turns a nice medium brown, almost toffee colored. This will take about 20 minutes. Add a little water here and there if the mixture is sticking. Keep in the fridge for 2-3 weeks, or freeze it for it to last 6 months.
Vegan: Swap out the butter for vegan butter or a neutral oil (like vegetable or avocado) and use 1 cup plant-based half and half or 1 cup pure coconut cream (the solid part of a can of coconut milk).
Fenugreek leaves: Optional, but they really make this recipe taste more like restaurant-quality. You can find them online here or here.
Caramelization: Do not skip caramelizing onions or tomato paste!