Slice the chicken breasts in half horizontally, creating four thin portions. If needed, place the slices between two pieces of plastic wrap and pound them to ½-inch thickness. This ensures even cooking and makes the chicken tender.
In a shallow bowl, whisk together the buttermilk and egg. This mixture will help the flour stick to the chicken and add flavor.
In another shallow bowl, combine the flour, cornstarch, kosher salt, garlic powder, ground black pepper, and white pepper. Whisk well to ensure even seasoning throughout the coating.
Dredge each piece of chicken in the buttermilk mixture, ensuring it’s well-coated, then transfer it to the flour mixture. Make sure each piece is thoroughly coated to achieve that crispy texture. Place the coated chicken on a wire rack and repeat until all pieces are coated. Allow the chicken to rest while preparing the gravy.
In a large skillet set over medium heat, pour in at least 1 inch of vegetable oil for frying. Heat the oil until it reaches around 350°F. This temperature is crucial; too hot will burn the chicken, while too cool will make it greasy.
Carefully add the chicken to the hot oil, frying in batches if necessary. Cook for 6 to 8 minutes, flipping occasionally, until the chicken is golden brown and cooked through. Use a meat thermometer to ensure it reaches an internal temperature of 165°F.
Remove the fried chicken and place it on a paper towel-lined plate to drain excess oil while you make the gravy.
In a large saucepan set over medium heat, melt the butter. Once melted, whisk in flour and cook for 2 to 3 minutes until it turns golden. This is your roux, which will thicken the gravy.
Slowly whisk in milk and season with kosher salt and ground black pepper to taste. Bring the mixture to a simmer and cook until slightly thickened, about 3 to 4 minutes. Remove from heat and taste, adjusting seasoning as needed.
Serve the gravy hot over the fried chicken. Enjoy the comforting flavors of your homemade Chicken Fried Chicken.