Season chicken pieces with salt and black pepper to taste.
Place the seasoned chicken pieces in a dish or resealable bag. Pour in the buttermilk, ensuring they’re fully submerged. Cover and refrigerate for at least 2 hours.
In a shallow dish, whisk together the flour, cornstarch, salt, black pepper, cayenne pepper, garlic powder, onion powder, and smoked paprika.
Remove a piece of chicken from the buttermilk, allowing excess to drip off. Dredge it in the seasoned flour mixture, pressing firmly to adhere.
Dip chicken piece back into the buttermilk, coating it again. Dredge it a second time in the flour mixture for an extra-crispy crust.
Place on a wire rack and repeat with the remaining chicken. Let them rest for about 10 minutes to allow the coating to set.
In a large cast iron skillet over medium-high heat, heat oil. Aim for 350° F.
Fry the chicken (in batches if needed), about 7-12 minutes per side, until golden brown and the internal temperature reaches 165° F.
Place on a wire rack over baking sheet with paper towel to drain excess oil. Let rest for a few minutes before serving warm.