In a large pan, heat 2 tablespoons of oil and add the green cardamom pods, cloves, black peppercorns, bay leaf, and cinnamon. Sauté the spices for 30–40 seconds. Add the ginger and garlic paste, and stir-fry for a minute. Then, add the tomatoes and jalapeño along with ½ cup of water. Cover the pan, reduce the heat to low, and simmer for 5–7 minutes, or until the tomatoes are soft and start to break down. Remove the pan from the heat and let it cool.
Remove all the whole spices (cardamom, bay leaf, cinnamon stick, cloves, and black pepper) and discard them. Transfer the tomato mixture to a blender and puree it to create a smooth sauce.
Transfer the sauce to a clean pan and add the ketchup, sugar, red chili powder, salt, dried fenugreek leaves, and the remaining water. Let it simmer for 2–3 minutes over low heat, stirring occasionally. Then, add the butter, stir, and simmer on the lowest heat for 5–7 minutes, or until the sauce starts to bubble. If the sauce is too thick, add a little more water.
Add the cooked chicken and let it simmer for another 5 minutes. Remove the butter chicken from the heat and top with chopped cilantro and heavy cream. Serve immediately with naan bread or rice.