In a large skillet, heat the vegetable oil over medium-high heat. Add the diced onion and ground beef to the skillet. Cook, breaking the beef apart with a spatula, until it's browned and the onion is translucent, about 5-7 minutes; drain.
Sprinkle the garlic powder and black pepper over the cooked beef and onion. Stir well to combine.
Sprinkle the flour evenly over the beef mixture and stir well to combine. Allow the flour to cook for about 1-2 minutes to remove the raw flour taste.
Gradually pour in the beef broth while continuously stirring to prevent lumps from forming. The mixture will thicken as it cooks.
Stir in the milk and Worcestershire sauce, and continue to cook over medium heat until the gravy reaches your desired thickness, about 5-7 minutes for thin gravy and 10-12 for thicker.
Season the gravy with additional salt and black pepper, if needed.
Optional: Garnish with chopped fresh parsley before serving.