Begin by boiling a pot of water. Chop the onions, ginger and garlic. Set aside.
Using a coffee grinder, blend the spices - cumin seeds, cardamom pods, cloves, cinnamon stick and peppercorns. Now set aside the spices you blended above along with turmeric powder, chili powder, and coriander powder.
Start by heating up a large pan. Once hot, add olive oil, followed by a large black cardamom and bay leaf. Saute for 30 seconds or so. Add the onions and saute for 3 minutes until translucent. Do NOT brown the onions.
Also add the ginger and garlic. Season with salt. Cook for 1 minute.
Add the spices along with a 1/4 cup of water. We're adding the water so the spices don't burn. Saute for 1 minute.
Now add the crushed tomatoes and tomato sauce. Season with salt. Stir well. Cover with a lid. Cook the tomatoes down for 8 minutes and reduce heat to low-medium.
While the tomatoes cook down, chop 1/2 a green bell pepper.
Add the pasta to salted boiling water. Cook the pasta according to the directions on the box until al dente.
Once the tomatoes are cooked, add the green pepper and cook for 1 minute.
Add the heavy cream, garam masala, and dry fenugreek leaves. Stir.
Here's your creamy tikka masala sauce. Check for salt, add more if need be.
Using a spider strainer, add the cooked pasta to the tikka masala sauce. By adding the pasta this way, you are also adding starchy pasta water which helps bind the sauce to the pasta. If you choose to drain the pasta, make sure you add about 1/4 cup of reserved pasta water to the sauce. Garnish with chopped cilantro leaves.
Serve immediately. Don't wait, it tastes best when hot.