There’s something incredibly nostalgic and satisfying about a plate of juicy Salisbury-style meatballs smothered in rich onion gravy, resting over a bed of creamy mashed potatoes. This dish brings together hearty flavors, soft textures, and the kind of comfort only home-cooked meals can deliver.
Why I Love This Recipe
I love how this recipe turns simple ingredients into a soul-warming meal that tastes like it’s been simmering all day. The meatballs are juicy and flavorful with a hint of garlic and Worcestershire sauce, while the gravy is rich, savory, and slightly sweet from the onions. The mashed potatoes soak up all that delicious sauce, making each bite deeply comforting. It’s the kind of meal I want on a cold day or anytime I need a little food hug.
Ingredients
(Here’s a tip: Check out the full list of ingredients and measurements in the recipe card below.)
-
500 g ground beef
-
¼ cup breadcrumbs (Panko or regular)
-
1 onion, half grated + half sliced thin
-
1 clove garlic, grated
-
1 tbsp tomato ketchup
-
1 tsp Worcestershire sauce
-
½ tsp salt
-
1 tsp ground black pepper
-
2 tbsp olive oil (for cooking meatballs)
For the gravy:
-
2 tbsp butter
-
1 large onion, thinly sliced
-
1 garlic clove, grated
-
2 cups beef stock
-
2 tbsp plain flour
-
1 tbsp tomato ketchup
-
1 tbsp BBQ sauce (optional)
-
1 tsp smoked paprika (optional)
-
Salt & pepper to taste
For mashed potatoes:
-
5 large potatoes, peeled and boiled till tender
-
4 tbsp butter
-
½ cup milk (or as needed)
-
Salt & black pepper to taste
Directions
-
I start by combining the ground beef, breadcrumbs, grated onion, grated garlic, ketchup, Worcestershire sauce, salt, and pepper in a bowl. I mix it well until the mixture is evenly combined.
-
I shape the meat mixture into small meatballs, roughly 1 inch in size.
-
I heat the olive oil in a skillet over medium-high heat, then brown the meatballs on all sides. Once browned, I remove them and set them aside.
-
In the same pan, I melt the butter, then sauté the sliced onion and garlic until soft and translucent.
-
I sprinkle in the flour and stir it around for about a minute to make a roux.
-
Slowly, I whisk in the beef stock while scraping up the browned bits from the pan, then I add the ketchup, BBQ sauce, and smoked paprika. I season the gravy with salt and pepper and let it thicken slightly.
-
I return the meatballs to the pan and simmer them in the gravy for a few minutes to let the flavors come together.
-
While the meatballs simmer, I mash the boiled potatoes with butter and milk, seasoning with salt and pepper to taste.
-
To serve, I scoop a generous portion of mashed potatoes onto a plate, top with meatballs and gravy, and garnish with fresh parsley if I have some on hand.
Servings and Timing
Yield: 4 servings
Prep Time: 30 minutes
Cook Time: 40 minutes
Total Time: 1 hour 10 minutes
Variations
-
I sometimes swap the ground beef for ground turkey or chicken for a lighter version.
-
For a gluten-free option, I use gluten-free breadcrumbs and thicken the gravy with cornstarch instead of flour.
-
If I want an extra kick, I add a pinch of chili flakes or a splash of hot sauce to the gravy.
-
I’ve tried adding mushrooms to the onion gravy for added depth and it worked beautifully.
-
For a dairy-free version, I use olive oil and plant-based milk in the mashed potatoes.
Storage/Reheating
I store leftovers in an airtight container in the fridge for up to 3 days. To reheat, I warm the meatballs and gravy gently in a skillet over low heat, adding a splash of water or stock if the gravy has thickened too much. The mashed potatoes reheat best in the microwave with a little added milk stirred in to loosen them up. This dish also freezes well—just be sure to separate the potatoes and meatballs in containers if I plan to freeze.
FAQs
How do I keep meatballs from falling apart?
I make sure the meatball mixture is well combined and not too wet. Breadcrumbs and the grated onion help bind it, and shaping them firmly helps keep them intact during cooking.
Can I make the meatballs ahead of time?
Yes, I often prepare the meatball mixture a day in advance and keep it refrigerated. I can also shape and freeze the raw meatballs for future use.
What type of beef is best for this recipe?
I usually go for beef with around 80/20 fat content. It’s flavorful and juicy without being overly greasy.
Can I make this in the oven instead of a skillet?
Yes, I can bake the meatballs at 200°C (400°F) for about 15-20 minutes, then finish them in the gravy on the stovetop for a few minutes to absorb the flavor.
What’s a good substitute for Worcestershire sauce?
If I’m out of Worcestershire, I mix a bit of soy sauce with a splash of vinegar and a pinch of sugar. It’s not exact, but it works well in a pinch.
Conclusion
This Salisbury-style meatball dish is my go-to when I crave something comforting, hearty, and incredibly satisfying. The rich onion gravy, fluffy mashed potatoes, and tender meatballs come together like a warm embrace on a plate. Whether I make it for a weeknight dinner or a cozy Sunday meal, it always hits the spot.
Print
Juicy Salisbury Meatballs with Onion Gravy and Creamy Mashed Potatoes
- Prep Time: 30 mins
- Cook Time: 40 mins
- Total Time: 1 hour 10 mins
- Yield: 4 servings
- Category: Dinner / Comfort Food
- Method: Pan‑fry / sauté, boil (for potatoes), simmer
- Cuisine: American / Western comfort food
- Diet: Halal
Description
Comforting dish of juicy Salisbury‐style meatballs in rich onion gravy, served over creamy mashed potatoes.
Ingredients
- 500 g ground beef
- ¼ cup breadcrumbs (Panko or regular)
- 1 onion, half grated + half sliced thin
- 1 clove garlic, grated
- 1 tbsp tomato ketchup
- 1 tsp Worcestershire sauce
- ½ tsp salt
- 1 tsp ground black pepper
- 2 tbsp olive oil (for cooking meatballs)
- For the gravy: 2 tbsp butter, 1 large onion thinly sliced, 1 garlic clove grated, 2 cups beef stock, 2 tbsp plain flour, 1 tbsp tomato ketchup, 1 tbsp BBQ sauce (optional), 1 tsp smoked paprika (optional), salt & pepper to taste
- For mashed potatoes: 5 large potatoes, peeled and boiled till tender; 4 tbsp butter; ½ cup milk (or as needed); salt & black pepper to taste
Instructions
- In a bowl, combine ground beef, breadcrumbs, grated onion, grated garlic, ketchup, Worcestershire sauce, salt and pepper. Mix well.
- Shape into meatballs (about 1‑inch / small size).
- Heat olive oil in a skillet over medium‑high heat. Brown the meatballs on all sides. Remove and set aside.
- In the same pan, add butter. Once melted, add sliced onion and garlic. Sauté until soft and translucent.
- Sprinkle flour over onion and garlic; cook for about 1 minute to make roux.
- Slowly whisk in beef stock, scraping up browned bits; then stir in ketchup, BBQ sauce, smoked paprika (if using). Season with salt & pepper. Let gravy thicken.
- Return meatballs to the pan. Simmer in the gravy for a few minutes so flavors meld.
- Meanwhile, boil potatoes until fork‑tender. Drain. Mash with butter and milk, seasoning with salt & pepper.
- To serve: plate a generous portion of mashed potatoes, top with meatballs and gravy. Garnish with chopped fresh parsley if desired, and serve immediately.
Notes
- You can prep the meatball mix ahead and refrigerate.
- If gravy becomes too thick, thin with extra stock or water.
- Use low‑fat milk in mash for lighter version.
- Optional smoky or spicy flavors (paprika, BBQ sauce) can be adjusted.
- Leftovers store well; reheat gently to preserve texture.
Nutrition
- Serving Size: 1 of 4 portions
- Calories: ~550 kcal
- Sugar: ~6 g
- Sodium: ~700 mg
- Fat: ~30 g
- Saturated Fat: ~13 g
- Unsaturated Fat: ~15 g
- Trans Fat: ~0.5 g
- Carbohydrates: ~45 g
- Fiber: ~3 g
- Protein: ~30 g
- Cholesterol: ~110 mg