Season and dredge: In a shallow dish, mix flour, salt, pepper, garlic powder, onion powder, and smoked paprika. Pat the cubed steaks dry and dredge in the seasoned flour, shaking off excess.
Reserve 1 tablespoon of the seasoned flour for the gravy.
Sear the steaks: Heat oil in a large skillet over medium-high until shimmering. Add steaks in a single layer without crowding. Sear 2–3 minutes per side until browned.
Transfer to a plate. Work in batches if needed.
Build flavor with onions: Reduce heat to medium. Add butter to the skillet.
Stir in sliced onions with a pinch of salt. Cook 6–8 minutes, stirring, until soft and golden around the edges. Add minced garlic and cook 30 seconds until fragrant.
Make the gravy base: Sprinkle the reserved tablespoon of seasoned flour over the onions.
Stir to coat and cook 1 minute. Slowly pour in beef broth while stirring, scraping up browned bits from the pan. Add Worcestershire sauce.
Bring to a gentle simmer.
Return the steaks: Nestle the seared cubed steaks into the gravy. Reduce heat to medium-low, cover, and simmer 10–12 minutes, flipping once, until tender and the gravy thickens. If the gravy gets too thick, splash in more broth or water.
Taste and adjust: Season the gravy to taste with salt and pepper.
If you want richer flavor, whisk in a small knob of butter at the end.
Serve: Garnish with chopped parsley or thyme. Serve hot over mashed potatoes, rice, or egg noodles with plenty of gravy.