Heat the oil in a wok or large saucepan over medium flame. Add chopped onion and saute for 1 - 2 minutes. No need to brown the onion.
Stir in the curry paste and cook for 3 - 5 minutes or till oil starts separating from the paste.
Add chicken pieces. Stir-fry till chicken pieces are nicely roasted and turn pale white in color. Add 1 - 2 tablespoon of coconut milk if the curry paste is sticking to the wok or burning.
Add the lemongrass, fish sauce, vinegar, soy sauce, sugar, and half the amount of coconut milk. Stir to combine and cook for 1 - 2 minutes.
Then add the remaining coconut milk along with kaffir lime leaves, lemongrass, basil, red chili, vegetables, and stir to combine. Taste and season with salt accordingly.
Add 1/2 cup chicken/seafood stock or water if the curry seems too thick.
Bring slowly to the boil, then reduce the heat to low and simmer, uncovered, for 6 - 8 minutes or until chicken and vegetables are cooked.
Stir the curry a few times while it cooks, to stop it sticking and to keep the chicken submerged.