1.5 pounds ground beef (80/20 blend for best juiciness)
1 large egg
1/2 cup panko breadcrumbs
1/4 cup whole milk
1/4 cup finely minced yellow onion
2 cloves garlic, minced
1 tablespoon fresh rosemary, finely chopped, plus extra sprigs for garnish
1 teaspoon salt, plus more to taste
1/2 teaspoon black pepper, plus more to taste
2 tablespoons olive oil
2 tablespoons unsalted butter
2 tablespoons all-purpose flour
2 cups beef broth
1 tablespoon Worcestershire sauce
2 pounds Russet or Yukon Gold potatoes, peeled and quartered
1/2 cup half and half or whole milk
4 tablespoons unsalted butter, divided for potatoes
Instructions
For the Tender Meatballs: In a large bowl, gently combine the ground beef, egg, panko breadcrumbs, whole milk, minced yellow onion, minced garlic, chopped fresh rosemary, 1 teaspoon salt, and 1/2 teaspoon black pepper. The secret to tender meatballs is to mix just until combined. Overmixing will develop the proteins too much, leading to tough meatballs. Use your hands and be gentle! Form the mixture into approximately 1.5-inch meatballs. You should get about 20-24 meatballs.
Heat 2 tablespoons olive oil in a large, heavy-bottomed skillet or Dutch oven over medium-high heat. Carefully add the meatballs, working in batches if necessary to avoid overcrowding the pan. Sear the meatballs for 3-5 minutes, turning occasionally, until nicely browned on all sides. This browning step adds incredible flavor. Remove the browned meatballs to a plate and set aside. They do not need to be cooked through at this stage.
For the Rich Gravy: Reduce the heat to medium. Add 2 tablespoons unsalted butter to the same skillet. Once melted, sprinkle in 2 tablespoons all-purpose flour. Whisk continuously for 1-2 minutes to create a light roux, scraping up any browned bits from the bottom of the pan. Slowly pour in the 2 cups beef broth, whisking constantly to prevent lumps. Stir in the 1 tablespoon Worcestershire sauce.
Bring the gravy to a simmer, whisking occasionally, until it thickens to your desired consistency, about 5-7 minutes. Return the browned meatballs to the skillet, nestling them into the gravy. Reduce the heat to low, cover, and let the meatballs simmer gently in the gravy for 15-20 minutes, or until cooked through. This simmering step in the flavorful gravy is key to infusing moisture back into the meatballs, ensuring they stay incredibly tender and juicy. Taste the gravy and adjust seasoning with salt and pepper as needed.
For the Creamy Mashed Potatoes: While the meatballs simmer, place the quartered potatoes in a large pot and cover with cold water by about an inch. Add a generous pinch of salt to the water. Bring to a boil, then reduce heat and simmer for 15-20 minutes, or until the potatoes are fork-tender. Drain thoroughly.
Return the drained potatoes to the empty pot. Add 1/2 cup half and half or whole milk and 4 tablespoons unsalted butter. Mash the potatoes using a potato masher until smooth and creamy. Season with salt and pepper to taste.
Serve: Ladle a generous serving of creamy mashed potatoes into bowls. Top with several tender, gravy-coated meatballs and a spoonful of the rich gravy. Garnish with fresh rosemary sprigs and serve immediately.
Notes
The key to tender meatballs is gentle mixing and simmering them in the savory gravy. Do not overmix!