Wash chicken pieces thoroughly and pat dry. Place chicken in a long shallow glass baking dish. Pour the buttermilk over the chicken, cover and refrigerate for at least 4 hours, turning once or twice.
In a clean plastic or brown paper bag, combine the flour, salt, pepper, paprika, and if desired the garlic and onion powders. Drain the chicken and place two or three pieces of chicken in the bag and shake well to coat evenly. Repeat until all chicken has been coated with seasoned flour mixture.
In a large, heavy skillet, heat about one-half inch of oil over medium high heat until hot, but not smoking. Add chicken (in batches if necessary) and brown on all sides, about three minutes per side. Place browned chicken on a warm platter until all pieces are cooked.
When all the chicken pieces are browned, crowd them into the skillet, turn heat to medium low, cover and cook, turning occasionally, until tender, about 35-40 minutes. Remove cover, turn heat to medium high and cook six to eight minutes more or until skin is crispy. Serve at once.