Ingredients
Equipment
Method
Make the meatballs
- In a large bowl, mix ground beef, breadcrumbs, parmesan, egg, minced garlic, onion powder, Worcestershire sauce, salt, and pepper until just combined. Avoid overmixing so the meatballs stay tender.
- Roll the mixture into 1.5-inch balls and keep them uniform in size for even cooking. Place on a plate while you brown the batch.
- Heat a large skillet over medium-high heat and brown the meatballs until golden on the outside, then remove and set aside. The skillet should be hot enough to sear quickly.
Brown gravy and finish
- Melt butter in the same skillet and caramelize the thinly sliced onion for 10 minutes. Stir occasionally so the onion turns deep golden-brown.
- Whisk in flour and cook for 1 minute to remove the raw flour taste. Keep stirring until the mixture looks smooth and lightly foamy.
- Gradually add beef broth, Worcestershire sauce, and Dijon mustard while whisking. Bring to a simmer and cook until thickened.
- Return the browned meatballs to the gravy and simmer for 15 minutes until cooked through. Stir gently so the meatballs stay intact.
Serve
- Spoon gravy and meatballs over mashed potatoes. Garnish with fresh parsley to finish.
Notes
For best texture, mix just until the ingredients come together and don’t pack the meatballs tight. Store leftovers in an airtight container in the refrigerator up to 3 days; reheat gently on the stovetop with a splash of broth if needed. Freeze cooked meatballs and gravy in a freezer-safe container up to 3 months, then thaw overnight in the fridge and reheat until hot. For a lighter option, use 90% lean ground beef or swap in ground turkey for the meatballs.
