In a small nonstick pan over medium heat, melt the ghee or butter or heat the oil. Add ¾ of the chopped shallot and all the ginger. Cook for 3 to 4 minutes, until the shallots have visibly softened.
Add the garlic, garam masala, turmeric, cayenne and mix with a wooden spoon. Cook for 2 minutes, until fragrant. Season with a small pinch of salt.
Reduce the heat to medium low. Crack the eggs in the pan, season with more salt. Sprinkle the Serrano or jalapeño slices, remaining shallot, and cilantro on top. Cover with a lid, and cook until the egg whites are opaque, peaking under the lid every now and then to check on the yolks. About 5 minutes will give you a runny yolk, you can cook the eggs more, depending on your yolk preference.
Finish off with lime juice on top and serve right away with crispy rice or crusty toast.
