Season the chicken: Pat the chicken dry. In a small bowl, mix salt, pepper, paprika, garlic powder, and onion powder.
Season both sides of the chicken evenly.
Dredge lightly: Place 2 tablespoons of flour on a plate. Dredge the chicken lightly on both sides, shaking off excess. This helps it brown and thickens the gravy later.
Brown the chicken: Heat oil in a large skillet over medium-high heat.
Add chicken and cook 4–5 minutes per side until golden. It doesn’t need to be fully cooked yet. Transfer to a plate.
Sauté the onions: Reduce heat to medium.
Add butter and sliced onions. Cook 8–10 minutes, stirring often, until soft and caramelized around the edges. Add garlic and cook 30 seconds.
Build the roux: Sprinkle the remaining 6 tablespoons flour over the onions.
Stir for 1–2 minutes to cook off the raw flour taste. The mixture will be thick and pasty.
Add liquids: Slowly stream in chicken broth while whisking to avoid lumps. Then add milk or half-and-half.
Stir until smooth and slightly thickened, 3–4 minutes.
Season the gravy: Add thyme, Worcestershire (if using), and a pinch of salt and pepper. Taste and adjust—this is your flavor backbone.
Smother and simmer: Nestle the browned chicken back into the skillet, along with any juices on the plate. Spoon gravy over the top.
Reduce heat to low, cover, and simmer 10–12 minutes, until the chicken is cooked through (internal temp 165°F/74°C).
Finish and serve: If the gravy is too thick, splash in more broth or milk. If too thin, simmer a few more minutes uncovered. Garnish with chopped parsley.
Serve over mashed potatoes, rice, or buttered noodles.