Cut the chicken into 1 inch cubes.
Dice the onions, slice shallots, grate the ginger, chop the cilantro and mince the garlic.
In a pan, heat 2 tbsps. of vegetable oil. Caramelize half the onion and then add in the chicken. Cook the chicken until they are cooked through 3/4 of the way. Set the chicken aside in a bowl.
Add in the rest of the oil (1 tbsp.) into the pan and caramalize the remainder of the onions. Add in the garlic and saute another 30 seconds. Add in the ginger, lime juice, shallots, black pepper, salt, Thai red curry paste and mix well to cook for another 30 seconds.
Add in the coconut milk, water, and stir well . Let them simmer for 2-3 minutes on low.
Add in the chicken cubes and cilantro to cook together with the sauce for another 3-4 minutes on low.
Remove the dish from the stove, garnish with some fresh cilantro and sliced serrano peppers. Serve with cooked rice and veggies of your choice.