01 - In a large skillet over medium heat, add the ground beef. Break the meat apart and cook until browned and no longer pink, approximately 5–7 minutes.
02 - Add the diced onion and cook 2–3 minutes until softened. Stir in the minced garlic and cook for 30 seconds until fragrant.
03 - Drain excess fat if needed, leaving about 1–2 tablespoons in the pan to build flavor.
04 - Add butter to the pan and stir until melted. Sprinkle flour over the mixture and cook for 1–2 minutes, stirring constantly to form a smooth roux.
05 - Slowly pour in the beef broth and milk, whisking constantly to prevent lumps from forming.
06 - Add Worcestershire sauce, salt, pepper, paprika, and thyme. Stir thoroughly to combine all seasonings.
07 - Bring to a simmer and cook, stirring frequently, until the gravy thickens to the desired consistency, approximately 5–7 minutes.
08 - Taste and adjust seasoning as needed. Serve hot ladled over mashed potatoes, rice, or biscuits.