In a mortar and pestle or using a heavy pan, crush the black cardamom pods so you can remove the seeds. The green cardamom can be toasted and ground with the shell on.
In a large pan over medium heat, toast all the spices except for the rose petals and star anise, if using. Shake the pan frequently for about a minute or two keep the spices from burning. You are looking for the spices to become highly aromatic and start to turn a slightly darker shade.
Pour the spices out onto a plate and cool completely. Adding in the rose petals and star anise, if using, process the spices into a fine powder in a spice grinder in batches, depending on the size of your spice grinder. I like to sieve the spices and if there are any larger pieces, run them through the grinder again. Use immediately, or store in an airtight container.
Notes
Shortcut: buy garam masala powder, if you don’t have time to make your own.I like the garam masala blend from Penzeys, and Indian groceries carry Indian made blends that are quite popular. My favorite is the Rani brand.
Use cassia instead of true cinnamon if you have it.Cassia is the variety of cinnamon most often used in India.
Roasting whole spices make them easier to grind and brings out the individual flavors.
Do not be tempted to increase the heat in order to speed up the process, or you will end up with a bitter flavor that will spoil your dish.
Most garam masala mixes are not intended to add heat to your cooking. Each recipe you are making will have fresh green chilies and/or whole or ground red chilies as needed.