Set a large 12-inch skillet over medium-high heat. Add ground beef and onion to the skillet. Season lightly with kosher salt and black pepper. Break up the meat as it cooks and cook until it’s brown in color and no pink remains. Drain the meat and set aside.
In the same pan as you used to brown the meat, set it over medium heat and add the butter. Melt the butter and sprinkle in the flour and whisk together until it forms a paste. Let it bubble slightly and cook for about a minute.
Slowly stream in milk and whisk until thick. This might take a few minutes to get the gravy as thick as you like.
Add cooked beef and onion to the white gravy mixture. Season with salt and pepper to taste. Feel free to add more flavor by sprinkling in crushed red pepper, garlic powder or fresh herbs.