Heat the butter and olive oil in a large skillet over medium-high heat. Once hot, add the diced onion and cook until it becomes soft and translucent, about 3-5 minutes. Stir in the grated fresh ginger and minced garlic, cooking for an additional 1-2 minutes until fragrant.
Add the garam masala, chili powder, mustard seeds, ground coriander, and curry powder to the skillet. Stir well and toast the spices for about 2 minutes, allowing them to become fragrant and bloom in the oil and onion mixture. This step really unlocks the flavors of the spices.
Add the chicken breast pieces to the skillet, along with the tomato paste, Thai red curry paste, salt, and black pepper. Stir thoroughly to ensure that the chicken is evenly coated with the onion, spice, and paste mixture. Sauté for about 2-3 minutes, just until the chicken starts to take on some color.
Pour the coconut milk over the chicken mixture and stir to combine everything. Bring the mixture to a gentle boil, then immediately reduce the heat to low and simmer uncovered for 20 minutes. The sauce will thicken and the chicken will cook through completely. I like to occasionally stir during this step to prevent sticking and ensure even cooking.
Serve the finished chicken curry hot over cooked rice or alongside naan bread, as preferred. Garnish each serving with fresh cilantro leaves for a burst of fresh flavor and color.