This post may contain affiliate links.
Meatballs and Gravy is the cozy, stick-to-your-ribs dinner that turns simple ground beef into something special, all smothered in a rich, savory onion gravy. I made a big pot on a rainy weeknight and Maddie asked me to put it in the dinner rotation forever. If you love hearty comfort food, you will also love our easy Salisbury steak.

Spooned over a pile of mashed potatoes, it is the ultimate comfort food dinner the whole family will devour.
Meatballs and Gravy Quick Look
- 🕒 Prep Time: 20 minutes
- 🌡️ Cook Time: 40 minutes
- ⏳ Total Time: 1 hour
- 🍽️ Serving: 6 servings
- ⚡ Calories: 446kcal
- 🌶️ Flavor Profile: Savory, beefy, and rich with sweet caramelized onion gravy
- ✋ Difficulty: Easy, a little hands-on but no special skills needed, just like our easy Salisbury steak
Quick Answer
Mix ground beef with egg, panko, ketchup, brown sugar, Worcestershire, and seasonings, then roll into balls and chill briefly. Brown the meatballs in a Dutch oven and set aside. In the same pot, cook sliced onions in butter, add garlic and flour to make a roux, then slowly whisk in beef stock to form a smooth gravy. Return the meatballs to the pot and simmer until cooked through and the gravy thickens.
Jump to:
Why This Recipe Works
Click to see the technique science
- Browning builds flavor. Searing the meatballs first leaves flavorful browned bits in the pot that make the gravy taste deeply savory.
- A quick chill keeps them intact. Ten minutes in the freezer firms up the meatballs so they hold their shape while browning.
- Real onion gravy. Slowly cooked onions and a butter-and-flour roux create a rich, glossy gravy from scratch, no packets needed.
- Simmering finishes them gently. The meatballs finish cooking right in the gravy, soaking up flavor and staying tender and juicy.
- It is total comfort food. Spooned over mashed potatoes, rice, or noodles, it is the kind of dinner that feels like a warm hug.
Why You’ll Love This Recipe
- It turns everyday ground beef into a rich, satisfying comfort food dinner.
- The homemade onion gravy is made from scratch in the same pot, so cleanup is easy.
- It is perfect spooned over our savory mashed potatoes, rice, or egg noodles.
Key Ingredients

Here is what makes these meatballs and gravy so good. See the recipe card below for exact amounts.
- Ground beef: Lean ground beef keeps the meatballs juicy without too much grease. An 85/15 blend is ideal.
- Panko and egg: Panko breadcrumbs and a beaten egg bind the meatballs and keep them tender.
- Beef stock: The base of the gravy. A good-quality beef stock makes all the difference.
- Sweet onion: Slowly cooked in butter, it gives the gravy its rich, slightly sweet backbone.
- Butter and flour: Cooked together into a roux, they thicken the gravy to that perfect glossy, spoon-coating consistency.
See recipe card for exact quantities.
Variations and Substitutions
These meatballs and gravy are easy to adapt. Here are a few ideas.
- Use a mix of meats: Try half ground beef and half ground pork for extra flavor.
- Add mushrooms: Saute sliced mushrooms with the onions for a heartier gravy.
- Make it cream gravy: Stir in a splash of heavy cream at the end for a richer sauce.
- Bake the meatballs: Brown them in a 400 degree F oven instead of frying to cut down on hands-on time.
- Serve them over our savory mashed sweet potatoes for a fun twist.
How to Make Meatballs and Gravy

- Mix and brown the meatballs. Combine the egg, panko, ketchup, brown sugar, Worcestershire, and seasonings, then mix in the beef. Roll into balls, chill 10 minutes, and brown on all sides in a Dutch oven.

- Cook the onions. Wipe the pot, melt the butter, and cook the sliced onions with salt and pepper until soft and golden, about 10 minutes.

- Make the roux. Stir in the garlic until fragrant, then add the flour and cook for 1 minute.

- Stream in the stock. Slowly whisk in the beef stock and Worcestershire until smooth and lump-free.

- Add the meatballs. Return the browned meatballs to the pot and gently stir to coat in the gravy.

- Simmer and serve. Simmer uncovered about 10 minutes until the meatballs reach 165 degrees F and the gravy thickens. Garnish with parsley and serve.
Recipe Tips & Tricks
- Chill before browning. A quick 10 minutes in the freezer keeps the meatballs from falling apart in the pan.
- Do not fully cook the meatballs when browning. Just brown the outside; they finish cooking in the gravy.
- Keep the browned bits. Those stuck-on bits add huge flavor to the gravy, so do not scrub them away.
- Add the stock slowly. Whisking in the stock gradually keeps the gravy silky and lump-free.
- Use a thermometer. The meatballs are done at 165 degrees F.
- Adjust the gravy. Too thick? Add a splash more stock. Too thin? Simmer a few minutes longer.
Serving Ideas and Suggestions
Meatballs and gravy are made for spooning over something creamy. Classic mashed potatoes are the gold standard, but they are also fantastic over rice, egg noodles, or buttered toast.
Round out the plate with a simple green vegetable or a side like our savory mashed sweet potatoes. For a bigger comfort food spread, they go great next to our Italian meatballs at a potluck.
Leftovers keep well in an airtight container in the fridge for up to four days, and the flavor is even better the next day. Reheat gently on the stove, adding a splash of stock to loosen the gravy.

Meatballs and Gravy FAQs
Lean ground beef, around 85/15, gives the best balance of juicy and not greasy. You can also use a mix of ground beef and pork for extra flavor.
Yes. Bake them at 400 degrees F for about 15 minutes to brown, then add them to the gravy to finish. It is a hands-off, lower-mess option.
Chill the rolled meatballs in the freezer for 10 minutes before browning, and be gentle when stirring them into the gravy. The panko and egg also help bind them.
Absolutely. It reheats beautifully and the flavor deepens overnight. Store it in the fridge for up to four days and reheat gently, loosening the gravy with a little stock.
For a thicker gravy, simmer it a few extra minutes. For a thinner gravy, whisk in a little more beef stock until it reaches the consistency you like.
Mashed potatoes are the classic choice, but rice, egg noodles, or buttered toast all work great for soaking up the gravy. Add a green vegetable to round out the meal.
Craving more comfort food? Try our easy Salisbury steak next.
Spoon these meatballs and gravy right over a mound of our creamy mashed potatoes.
For a hearty weeknight dinner, our meat sauce comes together in 40 minutes.
If you love a savory gravy, the au jus in our French dip sandwich tastes slow simmered but is ready fast.
Meatballs and Gravy
Ingredients
For the meatballs:
- 2 large eggs well beaten
- 1/2 cup panko breadcrumbs
- 2 tablespoons ketchup
- 1 tablespoon light brown sugar packed
- 1 tablespoon Worcestershire sauce
- 1 tablespoon garlic powder
- 1 tablespoon onion powder
- 1/2 teaspoon kosher salt
- 1/2 teaspoon black pepper
- 1/2 teaspoon smoked paprika
- 2 pounds lean ground beef
- oil for frying
For the gravy
- 6 tablespoons unsalted butter
- 1 medium sweet onion thinly sliced
- 1/2 teaspoon kosher salt
- 1/2 teaspoon black pepper
- 4 cloves garlic minced
- 6 tablespoons all-purpose flour
- 4 cups beef stock
- 2 teaspoons Worcestershire sauce
- fresh chopped parsley for garnish, optional
Instructions
- Add the beaten eggs, panko breadcrumbs, ketchup, light brown sugar, Worcestershire sauce, garlic powder, onion powder, salt, pepper, and paprika in a large bowl and stir to combine.
- Place the ground beef in the bowl and mix it well together; I find using my hands makes this step easier.
- Take about 1 and 1/2 tablespoons of the meat mixture, roll them into balls, and place them on a sheet tray. Place the sheet tray into the freezer for 10 minutes; this will allow them to firm up and not break apart.
- In a dutch oven or large skillet with deep sides, add oil into the pot, about 1/4th inch up the side of the pan. Place the pot over medium heat. Once the oil is hot, fry the meatballs in batches on both sides until golden brown, about 2 and 1/2 minutes per side. We are not looking to cook the meatballs all the way; just brown the outside.
- Place the browned meatballs on a plate and continue with the remaining meatballs.
- Wipe out any excess grease from the pan, and leave any bits stuck to the bottom of the pan from the meatballs, this will add a ton of flavor to the gravy.
- Add the butter to the pot and let it melt. Add the onions, salt, and pepper, stir to combine, and cook for about 10 minutes or until the onions are softened and slightly browned.
- Add the garlic to the pan and stir it in until fragrant, about 30 seconds. Add the flour and stir everything together. Cook for 1 additional minute.
- Very slowly stream in the beef stock while constantly whisking to avoid lumps. Stir in the Worcestershire sauce.
- Place the meatballs back into the pot, and stir to coat in the gravy. Bring to a simmer, and simmer uncovered for 10 minutes, stirring occasionally or until the meatballs reach an internal temperature of 165°F and the gravy thickens. Be gentle when stirring not to break up the meatballs.
- Taste the gravy and adjust the seasoning if necessary. Serve immediately with a garnish of fresh parsley if using.
Notes
- This makes a large batch, but you can easily double it to feed more or halve the recipe as needed.
- Tons of custom options, see my tips above on that.
- Serve over noodles, rice, or potatoes.
- This reheats and freezes well, see my tips above on how to store.
- Use frozen meatballs in a pinch.
- This can be finished in the oven, see my tips above on how to do that.
Nutrition
Love This Recipe?
Follow @ThisSillyGirlsKitchen on Instagram and @danadevolk on Pinterest for more!


















