In this article
The last night before payday, my mother fed six of us with one package of ground beef. She browned it with a chopped onion in her big skillet until it was dark and crumbly, stirred flour right into the pan, then poured in milk and beef broth while she stirred, with more black pepper than you would think. It cooked down into a thick, creamy gravy full of beef, and she ladled it over a mountain of mashed potatoes on every plate. A little beef, a lot of potatoes, flour and milk. We asked for it all the time and never knew it was the supper she made when the money jar was empty. My brother found out when he was grown, and he called her to say it was still the best thing she ever cooked.
Hamburger gravy is simple, but there is one place it goes wrong: the flour. Too little and the gravy is thin and runs off the potatoes. Too much and it turns pasty. Added the wrong way, it makes lumps. The answer is a measured amount of flour stirred into the beef and its fat, cooked for a full minute, and then the liquid poured in slowly. The fat coats every grain of flour so it cannot clump. Here is exactly how much flour it takes so the gravy is thick and never lumpy.
Why this hamburger gravy works
- Beef browned hard. Dark, crusty bits of beef on the bottom of the skillet are what give a milk gravy its deep flavor.
- Flour into the fat. Stirred into the beef and its fat, the flour is coated before any liquid goes in, so it cannot form lumps.
- A minute of cooking. Cooking the flour takes away the raw paste taste.
- Milk and broth together. Milk makes it creamy, beef broth makes it taste of beef, and the mix keeps it from being bland.
- Plenty of black pepper. Old-fashioned milk gravy is meant to be peppery.
Ingredients
Serves 6 over mashed potatoes. The measurements are in US cups with grams in brackets.
For the hamburger gravy
- 1 pound ground beef, 80/20 or 85/15 (450g)
- 1 medium onion, finely chopped
- 2 tablespoons unsalted butter
- 1/3 cup all-purpose flour (40g)
- 2 cups whole milk (480ml), warmed
- 1 cup beef broth (240ml)
- 3/4 teaspoon fine salt, plus more to taste
- 1 teaspoon coarse black pepper
- 1/2 teaspoon garlic powder
For the mashed potatoes
- 3 pounds russet or Yukon Gold potatoes (1.4kg), peeled and cut in chunks
- 1 1/2 teaspoons fine salt, for the water
- 6 tablespoons unsalted butter (85g)
- 3/4 cup whole milk (180ml), hot
- Salt and pepper to taste
Do not use very lean ground beef. The fat that comes out of an 80/20 or 85/15 package is what the flour cooks in. If your beef is lean, add another tablespoon of butter.
How to make hamburger gravy
Mashed potatoes
- Put the potatoes in a large pot, cover with cold water by an inch and add the salt. Bring to a boil and cook for 15 to 20 minutes, until a fork slides in easily.
- Drain well and return the potatoes to the hot pot for a minute to steam dry. Mash with the butter, then beat in the hot milk until fluffy. Season and keep warm with the lid on.
Hamburger gravy
- While the potatoes cook, put the ground beef in a large skillet over medium-high heat. Break it up and cook for 6 to 8 minutes, until browned with dark crusty bits. Add the onion and cook 4 to 5 minutes more, until soft.
- Do not drain the fat. Add the butter and let it melt into the beef.

- Sprinkle the flour evenly over the beef and stir until no dry flour shows. Cook, stirring, for 1 full minute.
- Pour in the warm milk about 1/2 cup at a time, stirring well after each addition and scraping the bottom of the pan. Then stir in the beef broth.
- Add the salt, pepper and garlic powder. Bring to a gentle simmer and cook for 3 to 5 minutes, stirring, until the gravy is thick enough to coat the back of a spoon.
- Taste and add more salt or pepper. If the gravy gets too thick, stir in a splash of milk; if it is too thin, simmer a few minutes longer.
- Pile the mashed potatoes on plates, make a well in each, and ladle the hamburger gravy over the top. Finish with more black pepper.

Tips that make the difference
- Warm the milk first. Cold milk hitting a hot pan is what most often causes lumps.
- Add the milk slowly at the start. Once the first cup is smooth, the rest goes in easily.
- The gravy thickens as it sits. Make it slightly looser than you want it on the plate.
- Use the biggest skillet you have, so the beef browns instead of steaming.
Variations
- Over toast or biscuits. Ladle it over buttered toast or split hot biscuits, the way many families served it.
- Mushroom. Brown 8 ounces of sliced mushrooms with the onion.
- Over rice or noodles. Serve over white rice or buttered egg noodles.
- Green peas. Stir a cup of frozen peas into the gravy for the last 2 minutes for a one-pan supper.
Storage and make-ahead
Keep the gravy covered in the refrigerator for up to 3 days.
Reheat gently on the stove with a splash of milk, stirring, until smooth and hot.
Hamburger gravy freezes for up to 2 months; it may look separated when thawed but comes back smooth with a little milk and stirring.
Frequently asked questions
How do I keep hamburger gravy from being lumpy?
Stir the flour into the beef and fat until no dry flour shows, cook it for a minute, then add warm milk a little at a time, stirring after each pour.
How much flour do I need?
About 1/3 cup of flour for 1 pound of ground beef and 3 cups of liquid gives a thick gravy that holds on mashed potatoes.
Should I drain the grease?
No. The fat is what the flour cooks in. With very fatty beef you can spoon off a little, but leave about 3 tablespoons in the pan.
What do you serve hamburger gravy with?
Mashed potatoes, toast, biscuits, rice or egg noodles, with green beans or peas on the side.
Make it on the leanest night of the month, pile the potatoes high, and nobody at the table will ever know the difference.
Hamburger Gravy over Mashed Potatoes (The Supper Before Payday)
Old-fashioned hamburger gravy: browned ground beef and onion, flour cooked in the pan, then milk and beef broth whisked in for a thick peppery gravy with no lumps. Served over creamy mashed potatoes.
Ingredients
- 1 pound ground beef, 80/20 or 85/15
- 1 medium onion, finely chopped
- 2 tablespoons unsalted butter
- 1/3 cup all-purpose flour
- 2 cups whole milk (480ml), warmed
- 1 cup beef broth
- 3/4 teaspoon fine salt, plus more to taste
- 1 teaspoon coarse black pepper
- 1/2 teaspoon garlic powder
- 3 pounds russet or Yukon Gold potatoes (1.4kg), peeled and cut in chunks
- 1 1/2 teaspoons fine salt, for the water
- 6 tablespoons unsalted butter
- 3/4 cup whole milk (180ml), hot
- Salt and pepper to taste
Instructions
- Put the potatoes in a large pot, cover with cold water by an inch and add the salt. Bring to a boil and cook for 15 to 20 minutes, until a fork slides in easily.
- Drain well and return the potatoes to the hot pot for a minute to steam dry. Mash with the butter, then beat in the hot milk until fluffy. Season and keep warm with the lid on.
- While the potatoes cook, put the ground beef in a large skillet over medium-high heat. Break it up and cook for 6 to 8 minutes, until browned with dark crusty bits. Add the onion and cook 4 to 5 minutes more, until soft.
- Do not drain the fat. Add the butter and let it melt into the beef.
- Sprinkle the flour evenly over the beef and stir until no dry flour shows. Cook, stirring, for 1 full minute.
- Pour in the warm milk about 1/2 cup at a time, stirring well after each addition and scraping the bottom of the pan. Then stir in the beef broth.
- Add the salt, pepper and garlic powder. Bring to a gentle simmer and cook for 3 to 5 minutes, stirring, until the gravy is thick enough to coat the back of a spoon.
- Taste and add more salt or pepper. If the gravy gets too thick, stir in a splash of milk; if it is too thin, simmer a few minutes longer.
- Pile the mashed potatoes on plates, make a well in each, and ladle the hamburger gravy over the top. Finish with more black pepper.






