Combine the flour, onion powder, garlic powder, paprika, cayenne salt, and black pepper in a medium bowl. Take three tablespoons from the flour mixture and set aside.
Wash the chicken and pat dry, then dredge in the flour-spice mixture. Shake off excess flour and set it aside.
Heat the oil in a large pan over medium to high heat. Add the chicken and sear until brown—about 4 minutes on each side. Remove to a plate. Remove excess oil from the pan and leave about 3 tablespoons.
Add the sliced onion and cook, stirring occasionally, until golden brown—about 5 minutes. Add the garlic, bay leaf, thyme, and butter. Cook until fragrant, about 30 seconds.
Add the reserved three tablespoons of seasoned flour into the onion and stir on medium heat until all the onions are covered with the flour. Cook for about 3 minutes.
Add the chicken stock and continue to stir and cook for about 30 seconds. Make sure not to overcook to maintain the golden brown color.
Pour the stock slowly while whisking to prevent lumps. Stir in the milk and season with salt and pepper. Continue to cook on medium heat until the mixture comes to a boil.
Add the fried chicken to the gravy. Be sure the gravy covers the chicken. Cover it up and bake at 425°F preheated oven undisturbed for one hour. Or cook on the stovetop, stirring occasionally, for 25 to 30 minutes or until the chicken is completely done, and the gravy is thickened.
Adjust the seasoning if necessary, remove from heat, discard the bay leaf and serve over white rice or mashed potatoes.