Loading...

In a large mixing bowl, combine the ground beef, plain breadcrumbs, egg, milk, grated Parmesan cheese, garlic powder, onion powder, 1 teaspoon salt, and 1/2 teaspoon black pepper. Mix gently with your hands until just combined, being careful not to overmix, which can make the meatballs tough. Form the mixture into approximately 18-20 meatballs, about 1 1/2 inches in diameter.

Heat the olive oil in a large skillet or Dutch oven over medium-high heat. Once hot, add the meatballs in batches, ensuring not to overcrowd the pan. Brown the meatballs on all sides until a nice crust forms. They do not need to be cooked through at this stage. Remove the browned meatballs to a plate and set aside.

Reduce the heat to medium. Add the unsalted butter to the same skillet. Once melted, add the thinly sliced yellow onions. Cook, stirring occasionally, for 10-15 minutes, until the onions are softened and lightly caramelized. Scrape up any browned bits from the bottom of the pan as they cook.

Sprinkle the all-purpose flour over the softened onions. Cook, stirring constantly, for 1-2 minutes to create a light roux, allowing the flour to cook out its raw taste.

Gradually whisk in the beef broth, a little at a time, to prevent lumps. Continue whisking until the gravy is smooth. Stir in the Worcestershire sauce and dried thyme. Bring the gravy to a gentle simmer, then reduce the heat to low.

Return the browned meatballs to the skillet, nestling them into the simmering onion gravy. Cover the skillet and let it simmer for 15-20 minutes, or until the meatballs are cooked through and the gravy has thickened to your desired consistency. Stir occasionally to ensure even cooking and prevent sticking.

Taste the gravy and adjust salt and black pepper as needed. Serve the smothered meatballs hot, ideally over creamy mashed potatoes, egg noodles, or rice, to soak up all the delicious gravy.


In a large mixing bowl, combine the ground beef, plain breadcrumbs, egg, milk, grated Parmesan cheese, garlic powder, onion powder, 1 teaspoon salt, and 1/2 teaspoon black pepper. Mix gently with your hands until just combined, being careful not to overmix, which can make the meatballs tough. Form the mixture into approximately 18-20 meatballs, about 1 1/2 inches in diameter.

Heat the olive oil in a large skillet or Dutch oven over medium-high heat. Once hot, add the meatballs in batches, ensuring not to overcrowd the pan. Brown the meatballs on all sides until a nice crust forms. They do not need to be cooked through at this stage. Remove the browned meatballs to a plate and set aside.

Reduce the heat to medium. Add the unsalted butter to the same skillet. Once melted, add the thinly sliced yellow onions. Cook, stirring occasionally, for 10-15 minutes, until the onions are softened and lightly caramelized. Scrape up any browned bits from the bottom of the pan as they cook.

Sprinkle the all-purpose flour over the softened onions. Cook, stirring constantly, for 1-2 minutes to create a light roux, allowing the flour to cook out its raw taste.

Gradually whisk in the beef broth, a little at a time, to prevent lumps. Continue whisking until the gravy is smooth. Stir in the Worcestershire sauce and dried thyme. Bring the gravy to a gentle simmer, then reduce the heat to low.

Return the browned meatballs to the skillet, nestling them into the simmering onion gravy. Cover the skillet and let it simmer for 15-20 minutes, or until the meatballs are cooked through and the gravy has thickened to your desired consistency. Stir occasionally to ensure even cooking and prevent sticking.

Taste the gravy and adjust salt and black pepper as needed. Serve the smothered meatballs hot, ideally over creamy mashed potatoes, egg noodles, or rice, to soak up all the delicious gravy.
