Ingredients
Equipment
Method
Make the meatballs
- In a large bowl, mix the ground beef, breadcrumbs, parmesan, egg, minced garlic, onion powder, Worcestershire sauce, salt, and pepper until just combined. Stop mixing as soon as the mixture is uniform to keep the meatballs tender.
- Roll the mixture into 1.5-inch meatballs and set them on a plate while you heat the skillet. Keep the size consistent so they cook evenly.
Brown the meatballs
- Heat a large skillet over medium-high heat. Add the meatballs and brown them on the outside, then remove to a plate and set aside.
Cook the brown onion gravy
- Melt the butter in the skillet and add the thinly sliced onion. Caramelize the onion for 10 minutes, stirring occasionally, until dark and sweet.
- Whisk in the flour and cook for 1 minute. Keep whisking until the mixture smells nutty and thickens slightly.
- Gradually add the beef broth, Worcestershire sauce, and Dijon mustard while whisking. Simmer until the gravy thickens enough to lightly coat the back of a spoon.
Finish and serve
- Return the browned meatballs to the gravy. Simmer for 15 minutes until the meatballs are cooked through.
- Serve the meatballs and gravy over mashed potatoes and scatter fresh parsley on top. Taste and adjust with extra salt and pepper if needed.
Notes
Pro tip: don’t overmix the meatball mixture—mixing only until combined helps them stay tender after simmering. Refrigerate leftovers in a covered container up to 3 days; reheat gently on the stovetop with a splash of broth. Freezing is yes—freeze cooked meatballs and gravy for up to 2 months, then thaw overnight and reheat. For a lower-carb option, swap breadcrumbs for finely ground pork rinds (or a low-carb breadcrumb substitute) while keeping the rest the same.
