Season the Flour: In a shallow dish, combine flour, garlic powder, onion powder, smoked paprika, salt, black pepper, and cayenne pepper.
Prepare the Egg Wash: In another bowl, whisk together eggs, buttermilk, and hot sauce (if using).
Coat the Steaks: Dredge each steak in the seasoned flour, then dip in the egg wash, and return to the flour for a second coating. Press the flour firmly onto the steak for a crispy crust.
Heat the Oil: In a large skillet, heat oil over medium-high heat until hot (about 350°F / 175°C).
Fry in Batches: Carefully add the breaded steaks to the oil. Cook for 3-4 minutes on each side until golden brown and crispy. Remove and place on a wire rack or paper towel-lined plate to drain excess oil.
Prepare the Roux: In the same skillet, reduce the oil to about 2 tablespoons (or add butter if needed). Stir in 2 tablespoons of flour and cook for 1-2 minutes until golden brown.
Add Milk and Seasonings: Gradually whisk in the milk, ensuring no lumps form. Add garlic powder, onion powder, salt, and black pepper.
Thicken the Gravy: Simmer for 3-5 minutes, stirring constantly, until the gravy thickens. Taste and adjust seasoning as needed.
Serve: Plate the chicken fried steak topped with the creamy gravy. Garnish with extra black pepper if desired.