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 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 they are 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. Don’t overcook in order to maintain the golden brown color.
Slowly pour in the stock and whisk while you pour 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 into the gravy. Make sure the gravy covers the chicken. Cover it up and bake at a 425°F preheated oven undisturbed for one hour or leave to cook for 25 to 30 minutes or till the chicken is completely done and the gravy is thickened- stirring occasionally.
Adjust the seasoning if necessary, remove from heat, discard the bay leaf and serve over white rice or mashed potatoes.