Prepare ingredients: julienne the ginger, slice the shallots into rings, slice the Thai chiles lengthwise, and cut the chicken into bite-sized pieces.
Make the caramel: place the coarsely chopped palm sugar in a medium-to-large saucepan or skillet and melt over low heat, stirring frequently and breaking it up, until fully liquefied, about 10 minutes.
When the sugar is melted and bubbling, remove the pan from heat and slowly add the fish sauce while stirring; be careful as the mixture may bubble up. Stir in the sliced chiles and set the caramel aside.
Heat the vegetable oil in a sauté pan or Dutch oven over medium heat. Add the julienned ginger and shallot rings and cook, stirring, until they begin to soften, about 2 minutes.
Add the chicken pieces to the pan and pour in the reserved caramel sauce. Bring to a boil, then reduce heat to maintain a gentle simmer.
Simmer, stirring occasionally, until the chicken is cooked through and the sauce thickens slightly, about 10 to 12 minutes.
Serve the caramel chicken garnished with fresh cilantro alongside rice if desired.