Heat Ghee in small to medium sized non-stick frying pan over medium high heat.
When ghee is hot enough (ginger should sizzle when added), add the ginger, garlic, cumin seeds, and optional hot pepper flakes to oil cook for 20-30 seconds. Ginger and Garlic may turn golden brown, but don't let them burn.
Quickly add the cardamom powder, ground coriander, paprika, turmeric, ground clove and salt. Cook stirring for 30 sec to 1 min. Careful not to burn the spices.
Add the tomatoes and onions and stir to combine. Turn heat down to medium or medium-low. Cook till liquid significantly reduced. Let the mixture reduce down to a thick consistency. This will depend on the tomatoes and heat you use, and also how runny you want the final mixture to be. But expect somewhere between 10 and 20 min.
Meanwhile break 2 to 3 eggs in a bowl and beat with a fork. Salt them if you want, to taste.
Add the cream and stir to combine for 2 to 5 min.
Add the Fenugreek leaves and stir to combine. 2 min.
Pour in the beaten eggs and let cook stirring till they are at the consistency you want. I like my eggs a little more cooked so I go for a an almost cottage cheese like consistency. However, the actual consistency will depend on how reduced the tomato mixture was as well as how many eggs vs tomatoes there are.
When the eggs are cooked to your liking, serve warm. Preferably with buttered bread or Naan. (This goes really good with toasted rustic bread.)