In a large bowl, whisk together buttermilk, salt, sugar, black pepper, paprika, and cayenne. Add chicken pieces, cover, and refrigerate for at least 4 hours or overnight.
In a shallow dish, combine flour, garlic powder, onion powder, and baking powder. Remove chicken from buttermilk, letting excess drip off, then dredge in flour mixture, pressing firmly to adhere. Place on a wire rack and let rest 10 minutes.
Fill a large Dutch oven or deep skillet with 2 inches of oil. Heat over medium-high to 350°F (175°C).
Working in batches, fry chicken, turning occasionally, until golden brown and cooked through (165°F internal), about 12-15 minutes for dark meat, 10-12 minutes for white meat. Drain on paper towels.
Serve hot or at room temperature.
Tips
For extra crunch, double-dredge: dip back into buttermilk and flour mixture before frying.
Maintain oil temperature between 325-350°F for best results.
Leftover fried chicken can be reheated in a 350°F oven for 10-15 minutes.