Marinate the Chicken: Place the chicken pieces in a large bowl and pour the buttermilk over them. Make sure each piece is well coated. Cover and refrigerate for at least 4 hours or preferably overnight.
Prepare the Seasoned Flour: In a large bowl, combine the flour, cornstarch, salt, black pepper, paprika, garlic powder, onion powder, and cayenne pepper. Mix until evenly combined.
Prepare the Egg Mixture: Whisk the eggs in a separate bowl until smooth.
Coat the Chicken: Remove a piece of chicken from the buttermilk and let the excess drip off. Dip it into the egg mixture, then thoroughly coat it with the seasoned flour. Press the flour gently onto the chicken for a thicker crust.
Heat the Oil: Heat the vegetable oil in a deep skillet or Dutch oven to approximately 350°F (175°C). Use a kitchen thermometer to maintain a consistent temperature.
Fry the Chicken: Carefully place the coated chicken into the hot oil without overcrowding the pan. Fry in batches until deeply golden and crispy and the chicken reaches a safe internal temperature of 165°F (74°C).
Drain the Chicken: Transfer the cooked chicken to a wire rack placed over a baking sheet. Allow excess oil to drain while keeping the chicken uncovered so the crust stays crispy.
Serve: Serve the buttermilk fried chicken hot with your favorite sides, dipping sauces, coleslaw, mashed potatoes, biscuits, or mac and cheese.