Prepare the seasoning by combining salt, garlic powder, onion powder, brown sugar, black pepper, chili powder, and paprika. Set aside, and gather all gravy ingredients for a smooth cooking process.
Lightly dust the beef cubes with the seasoning mixture, tossing well to coat. Then, sprinkle flour over the seasoned beef and mix to evenly distribute.
Heat olive oil in a large skillet over medium-high heat. Sear the beef in batches, browning each side for 30-45 seconds without overcrowding the pan. Add more oil as needed. Transfer each batch to a plate and avoid cooking the beef all the way through at this stage.
Pour in the wine (if using) and deglaze the skillet, using a silicone spatula to scrape up any browned bits. Let the wine reduce by half over gentle heat.
Reduce the heat to medium, add butter, and sauté the onions until softened, about 5 minutes. Add the garlic and cook briefly for 1 minute until fragrant.
Pour in the beef broth, add the bouillon cube, Worcestershire sauce, thyme, rosemary, onion powder, and garlic powder. Bring the mixture to a boil.
Slowly whisk the cornstarch mixture into the gravy, stirring constantly to reach the desired thickness.
Lower the heat to medium-low, add the beef along with any juices from the plate, and partially cover the skillet. Simmer for 10-15 minutes, allowing the beef to cook through and absorb the flavors.
For a velvety finish, stir in 1 tablespoon of cold butter at the end.
Serve hot over mashed potatoes, egg noodles, or rice.