In a thick base cooking pot, add ghee and cardamom. Keep at medium-low heat on the stove for 2 minutes.
Reduce the heat to low and add semolina. Roast the semolina till it absorbs all the ghee. Now roast for 5 mins making sure the semolina doesn't burn or change color. If it starts to change color sooner than 5 mins, proceed to the next step immediately.
Add 1/2 cup of water to the semolina and saute until fully absorbed.
Add another cup of water, stir well to avoid clumps, and let the semolina fully absorb the water.
Now add the remaining water, food color and sugar. Mix to combine everything well.
Cover the pot and let it simmer at medium heat for 5 mins.
Turn the heat to low and cook for another 5 mins.
Stir the halwa around for about a minute and add milk powder. Stir for another 2 minutes.
Turn off the heat, and sprinkle chopped pistachios, almonds, or walnuts.
Suji halwa is served hot with breakfast or as dessert.