The cozy, stick-to-your-ribs comfort dinner everyone loves. Tender, juicy homemade beef meatballs seared golden then simmered in a rich, savory brown gravy, all piled over a mound of creamy buttery mashed potatoes. It’s hearty, nostalgic Sunday-dinner food — think Salisbury-steak-meets-Swedish-meatballs — and it comes together in just forty-five minutes. The kind of plate that disappears fast.
Fun fact: nearly every culture has its own meatball — Swedish köttbullar, Italian polpette, Middle Eastern kofta, Chinese lion’s head. The humble meatball is one of the most universal comfort foods on earth, born everywhere as a clever way to stretch ground meat.
Why this recipe works
PANADE keeps them tender. Breadcrumbs soaked in milk make meatballs soft and juicy, never dense.
SEAR then simmer. Browning builds flavor; finishing in the gravy keeps them moist and infuses the sauce.
GRAVY from the fond. Building the gravy in the same pan captures all the browned-meat flavor.
Ingredients
Serves 4.
Meatballs:
1.25 lbs (570 g) ground beef
1/3 cup breadcrumbs + 3 tbsp milk
1 egg
1/4 cup grated onion
2 cloves garlic, minced
1 tsp Worcestershire sauce
3/4 tsp salt + 1/2 tsp pepper
2 tbsp oil, for searing
Brown gravy + mash:
3 tbsp butter
3 tbsp flour
2.5 cups beef broth
1 tsp Worcestershire sauce
2.5 lbs Yukon gold potatoes, for mash
1/2 cup warm milk + 4 tbsp butter (for mash)
Instructions
Step 1: Make the meatballs
Soak breadcrumbs in milk 5 minutes. Combine with beef, egg, grated onion, garlic, Worcestershire, salt and pepper. Roll into 16-18 meatballs.
Step 2: Sear
Heat oil in a skillet over medium-high. Brown the meatballs on all sides, about 6 minutes (not cooked through). Remove.
Step 3: Make the mash
Meanwhile boil the potatoes until tender; drain and mash with warm milk, butter, salt and pepper.
Step 4: Make the gravy
In the meatball pan, melt butter, whisk in flour, and cook 1 minute. Slowly whisk in the beef broth and Worcestershire. Simmer until thickened.
Step 5: Simmer the meatballs
Return the meatballs to the gravy. Cover and simmer 10-12 minutes until cooked through (165°F/74°C).
Step 6: Serve
Spoon mashed potatoes onto plates, top with meatballs, and ladle over the brown gravy. Garnish with parsley.
Nutrition information
Calories: 680 kcal per serving
Protein: 38 g
Carbohydrates: 48 g
Fat: 38 g
Saturated Fat: 17 g
Fiber: 4 g
Pro tips for the best meatballs and mashed potatoes
Don’t overmix. Mix the meatball mixture gently for tender results; overworking makes them tough.
Grate the onion. Grated onion melts into the meatballs, adding moisture and flavor without chunks.
Make ahead. Meatballs and gravy reheat beautifully; make a double batch and freeze.
Smooth gravy. Whisk constantly while adding the broth to avoid lumps.
Frequently asked questions
Can I bake the meatballs instead of searing?
Yes — bake at 400°F for 15 minutes, then add to the gravy to finish. Searing gives the most flavor though.
Can I make them ahead?
Absolutely — meatballs in gravy keep 4 days in the fridge and freeze up to 3 months. Reheat gently.
Why are my meatballs tough?
Overmixing or too little binder. Use the milk-soaked breadcrumb panade and mix just until combined.
Can I use store-bought meatballs?
Yes — for a shortcut, simmer frozen meatballs in the homemade gravy until heated through.
What else can I serve them with?
Egg noodles, rice, or crusty bread all work in place of (or alongside) the mashed potatoes.