Melt the ghee or butter in a large, deep skillet or sauté pan over medium heat. Add the chicken; sprinkle with kosher salt and cook, stirring, for 4 to 7 minutes, until the pieces are lightly browned. Remove the chicken to a plate and set aside.
Add the onion and shallots to the skillet and cook, stirring, for about 3 to 4 minutes, until softened. If the skillet is too dry, add another tablespoon of ghee or butter.
Add the garlic, ginger paste, curry powder, and tomato paste to the skillet. Cook, stirring, for 2 minutes.
Add the diced tomatoes and chicken broth to the skillet; bring to a simmer, lower the heat to low, and cook for 10 to 12 minutes, until thickened.
Add the chicken back to the sauce mixture along with the coconut milk and lime juice. Cook for 1 to 2 minutes, until hot. Taste and adjust the seasonings as desired with more salt and/or curry powder, and add dd 1/4 cup of cilantro.
Remove the chicken from the heat and serve immediately with extra cilantro or sliced green onions, for garnish.