Ingredients
Equipment
Method
Make the meatballs
- In a bowl, mix ground beef, breadcrumbs, parmesan, egg, garlic, onion powder, Worcestershire sauce, salt, and pepper until just combined. Stop as soon as the mixture comes together so the meatballs stay tender.
- Roll the mixture into 1.5-inch balls and arrange them on a plate. Keep them uniform in size so they cook evenly.
- Brown the meatballs in a large skillet over medium-high heat. Cook until deep golden-brown on the outside, then remove to a plate.
Simmer the brown onion gravy
- Melt butter in the same skillet and caramelize the onion for 10 minutes. Stir often so the onion turns soft and dark.
- Whisk in flour and cook for 1 minute. Cook it out until it smells nutty and thick paste forms.
- Gradually add beef broth, Worcestershire, and Dijon mustard while whisking. Keep whisking until the gravy is smooth.
- Simmer the gravy until thickened. Reduce to a steady bubble so it coats the back of a spoon.
- Return the browned meatballs to the gravy. Make sure they are mostly submerged for even cooking.
- Simmer for 15 minutes until the meatballs are cooked through. Continue simmering until no pink remains and the gravy looks glossy and thick.
Serve
- Serve the meatballs and gravy over mashed potatoes. Top with fresh parsley for a bright, fresh finish.
Notes
For best texture, mix the meatball mixture only until the ingredients are combined, and avoid overworking. Store leftovers in an airtight container in the refrigerator for up to 3–4 days; reheat gently on the stove or in the microwave until hot throughout. Freezing is yes: cool completely, freeze meatballs and gravy in a sealed container for up to 2–3 months, then thaw and reheat. If you want a lighter option, use lean ground beef (90% or 93%) and consider low-sodium beef broth, adjusting salt to taste.
