This Meatballs and Potatoes dish is the ultimate comfort food masterpiece that combines tender, juicy meatballs with perfectly cooked potatoes, all smothered in a rich tomato sauce and creamy béchamel, then topped with melty mozzarella cheese. It’s a one-pan wonder that delivers incredible flavor in every bite while being surprisingly straightforward to prepare. Perfect for family dinners or when you want to impress guests without spending hours in the kitchen!
Why You’ll Love This Recipe
- Perfect Comfort Food: This dish hits all the right notes – savory meatballs, creamy sauce, tender potatoes, and gooey cheese create the ultimate comfort meal.
- One-Pan Wonder: Everything comes together in a single baking dish, making cleanup a breeze while allowing all those amazing flavors to meld together.
- Crowd-Pleaser: Kids and adults alike will devour this dish – it’s like a magical combination of meatballs, scalloped potatoes, and lasagna rolled into one incredible meal.
- Make-Ahead Friendly: You can prepare components ahead of time and assemble when needed, making it perfect for busy weeknights or special occasions.
Ingredients You’ll Need
- Ground Beef: Provides the base for our tender, flavorful meatballs. Using 90/10 lean beef gives you the perfect balance of flavor and texture without excess grease.
- Yellow Onion: Adds sweetness and depth to the meatballs. Make sure to chop it finely to incorporate evenly.
- Panko Breadcrumbs: Creates the perfect texture in your meatballs, helping them stay tender while holding their shape.
- Egg: Acts as a binding agent to hold your meatballs together during cooking.
- Italian Seasoning: Infuses both the meatballs and tomato sauce with classic Mediterranean herbs for depth of flavor.
- Parsley: Brings a fresh, bright note to both the meatballs and as a finishing garnish.
- Yukon Gold Potatoes: These buttery potatoes have the perfect texture and flavor for this dish. Their waxy nature helps them hold shape while absorbing the delicious sauces.
- Crushed Tomatoes: Forms the base of our simple but flavorful tomato sauce that bathes the meatballs.
- Butter & Flour: The essential starting point for your velvety béchamel sauce.
- Milk: Creates the creamy base for the béchamel. Whole milk gives the richest results.
- Nutmeg: A tiny pinch adds that classic, subtle warmth to the béchamel sauce.
- Mozzarella Cheese: Creates that irresistible golden, bubbly topping that makes this dish Instagram-worthy.
Note: You’ll find the complete list of ingredients, along with their exact measurements, in the printable recipe card at the bottom of this post.
Variations
Different Meat Options
Try using a mixture of beef and pork for even more flavorful meatballs, or substitute ground turkey for a lighter version. For an Italian twist, add some ground fennel seeds to the meatball mixture.
Potato Alternatives
Sweet potatoes can create an interesting sweet-savory contrast, or try using a mix of potatoes and parsnips for added complexity.
Sauce Variations
Add roasted garlic or sun-dried tomatoes to the tomato sauce for deeper flavor. For the béchamel, try infusing the milk with a bay leaf and onion before using it in the sauce.
Cheese Options
Experiment with different cheeses like provolone, fontina, or a sprinkle of parmesan mixed with the mozzarella for a more complex cheese topping.
How to Make Meatballs and Potatoes
Step 1: Prepare the Meatballs
Preheat your oven to 375°F and line a baking sheet with parchment paper. In a medium mixing bowl, combine ground beef, finely chopped onion, breadcrumbs, beaten egg, Italian seasoning, 1 teaspoon parsley, salt, and pepper. Mix thoroughly but gently – overmixing can make meatballs tough. Use a 1½ tablespoon scoop to portion the mixture, then roll into balls and place them 2 inches apart on the prepared baking sheet.
Step 2: Bake the Meatballs
Bake the meatballs for 15 minutes until they’re just cooked through but still juicy. They’ll finish cooking in the final bake, so it’s okay if they’re slightly underdone.
Step 3: Prepare the Potatoes
While the meatballs bake, boil the potatoes until fork-tender, about 15-20 minutes. Immediately drain and rinse under cold water to stop the cooking process and make them cool enough to handle. Slice into approximately ⅛-inch thick discs.
Step 4: Make the Tomato Sauce
In a small mixing bowl, combine crushed tomatoes, Italian seasoning, salt, and pepper. Stir well to incorporate all the flavors.
Step 5: Prepare the Béchamel Sauce
In a heavy-bottomed saucepan over medium-high heat, melt the butter completely. Whisk in the flour until fully combined and cook for about 1-1½ minutes, whisking constantly. This cooks out the raw flour taste. Gradually whisk in the warmed milk, continuing to whisk until the sauce thickens to the consistency of gravy. Remove from heat and stir in salt, pepper, and nutmeg.
Step 6: Assemble the Dish
Generously spray your baking dish with nonstick cooking spray. Line the bottom and sides with a single layer of potato slices. Arrange the meatballs on top in a circular pattern, working from the outside in. Tuck remaining potato slices between the meatballs. Spoon the tomato sauce over the meatballs, then pour the béchamel sauce over everything. Sprinkle with mozzarella cheese.
Step 7: Bake to Golden Perfection
Bake at 375°F for 45 minutes, or until the top is beautifully golden brown and bubbling. Let rest for 15 minutes before serving to allow the sauce to set and the flavors to meld.
Pro Tips for Making the Recipe
- Don’t Overwork the Meat: Mix the meatball ingredients just until combined – overworking will result in tough meatballs.
- Uniform Sizing: Use a scoop for consistently sized meatballs that will cook evenly.
- Potato Thickness: Keep potato slices uniform (about ⅛ inch) so they cook evenly throughout the dish.
- Warm Milk: Using room temperature or slightly warmed milk helps prevent lumps when making the béchamel sauce.
- Continuous Whisking: Never stop whisking when making the béchamel to ensure a silky-smooth sauce without lumps.
- Cheese Tip: Grate your own mozzarella from a block instead of using pre-shredded for better melting and flavor.
- Resting Period: Don’t skip the 15-minute rest after baking. It allows the sauce to thicken and the flavors to settle.
How to Serve
Ideal Accompaniments
This hearty dish pairs beautifully with a simple green salad dressed with a light vinaigrette to cut through the richness. A side of garlic bread makes an excellent vehicle for sopping up any extra sauce.
Presentation Ideas
Serve directly from the baking dish for a rustic, family-style meal, or portion onto plates with a sprinkle of fresh parsley for a more refined presentation. A small spoonful of pesto on the side adds a touch of color and complements the flavors wonderfully.
Wine Pairing
A medium-bodied red wine like Chianti or Sangiovese works beautifully with the rich flavors of this dish. For white wine lovers, try a full-bodied Chardonnay.
Make Ahead and Storage
Make Ahead Options
You can prepare the meatballs and boil the potatoes up to a day ahead. The tomato sauce and béchamel can also be made in advance and refrigerated separately. Assemble and bake when ready to serve.
Storing Leftovers
Store leftovers in an airtight container in the refrigerator for up to 3 days. The flavors often get even better after a day as they continue to meld together.
Freezing
This dish freezes surprisingly well. Portion cooled leftovers into freezer-safe containers and freeze for up to 2 months. Thaw overnight in the refrigerator before reheating.
Reheating
For best results, reheat in a 350°F oven, covered with foil, for 20-25 minutes or until heated through. You can also microwave individual portions, but the texture of the potatoes and sauce won’t be quite as good.
FAQs
-
Can I use different types of potatoes?
Yes, you can! Russet potatoes work well but may break down a bit more than Yukon Golds. Red potatoes hold their shape nicely but have a different texture. Choose based on your preference, keeping in mind that waxy potatoes like Yukon Golds and reds will hold their shape better.
-
How do I know when my meatballs are cooked properly?
The most reliable way is using a meat thermometer – beef meatballs should reach an internal temperature of 160°F. In this recipe, they’ll continue cooking during the final bake, so after the initial baking step, they should be mostly but not necessarily completely cooked.
-
My béchamel sauce has lumps. How can I fix it?
If you end up with lumps, don’t panic! Remove the sauce from heat and whisk vigorously. If that doesn’t work, strain it through a fine-mesh sieve or blend it briefly with an immersion blender. To prevent lumps next time, add warm milk gradually while whisking constantly.
-
Can I make this dish vegetarian?
Absolutely! Substitute the beef with plant-based meat alternatives, or make vegetable “meatballs” using mushrooms, lentils, and breadcrumbs. The potatoes, tomato sauce, and béchamel work perfectly in a vegetarian version.
Final Thoughts
This Meatballs and Potatoes recipe transforms simple ingredients into something truly special. It’s the kind of dish that makes everyone at the table fall silent for the first few bites because they’re too busy enjoying the incredible flavors. Don’t be surprised if this becomes a regular request at your dinner table – it may take a little time to prepare, but the results are absolutely worth it. Give it a try this weekend, and prepare for the compliments!
PrintMeatballs and Potatoes Recipe
- Prep Time: 20 minutes
- Cook Time: 1 hour 20 minutes
- Total Time: 1 hour 55 minutes
- Yield: 8 servings 1x
- Category: Main-course
- Method: Baking
- Cuisine: Italian
Description
A comforting and hearty dish that combines tender meatballs with creamy béchamel sauce, flavorful tomato sauce, and perfectly baked potatoes. This crowd-pleasing recipe is perfect for family dinners or gatherings. The layers of flavors come together beautifully, making each bite irresistible.
Ingredients
For the Meatballs and Potatoes
- 1 pound lean ground beef (90/10)
- 1/2 cup finely chopped sweet yellow onion
- 1/3 cup plain panko bread crumbs
- 1 extra-large egg, beaten
- 2 teaspoons Italian seasoning
- 1 teaspoon kosher salt
- 2 teaspoons fresh chopped parsley, divided (1 teaspoon for the meatballs, 1 teaspoon for garnish)
- 1/2 teaspoon fresh cracked black pepper
- 5 medium-size Yukon Gold potatoes, washed and dried (or 6–7 smaller ones; optional to peel)
For the Tomato Sauce
- 1 1/2 cups crushed tomatoes
- 1 teaspoon Italian seasoning
- 1/2 teaspoon kosher salt
- 1/2 teaspoon fresh cracked black pepper
For the Béchamel Sauce
- 4 tablespoons salted butter, sliced into pats
- 5 tablespoons all-purpose flour
- 2 1/4 cups whole milk, warmed to room temperature
- 1/2 teaspoon kosher salt
- 1/2 teaspoon fresh cracked black pepper
- 1/8 teaspoon ground nutmeg
For the Topping
- 1 cup freshly shredded mozzarella
- 2 teaspoons freshly chopped parsley, for garnish
Instructions
- Prepare the Oven and Baking Sheet
Preheat your oven to 375°F. Line a baking sheet with parchment paper to ensure the meatballs cook evenly and make cleanup easier. - Make the Meatball Mixture
In a medium-sized bowl, combine the ground beef, onion, breadcrumbs, beaten egg, Italian seasoning, 1 teaspoon chopped parsley, kosher salt, and black pepper. Mix thoroughly with a spoon or your hands until well combined. - Shape and Bake the Meatballs
Use a 1 ½ tablespoon scoop to portion out the meatball mixture and roll into balls. Place them on the prepared baking sheet, about 2 inches apart. Bake for 15 minutes. - Boil the Potatoes
While the meatballs are baking, boil the potatoes in salted water. You can peel them or leave the skins on, per your preference. Boil for 15–20 minutes or until fork-tender. Drain and rinse under cold water to stop cooking and cool them for slicing later. - Prepare the Tomato Sauce
In a small mixing bowl, combine the crushed tomatoes, Italian seasoning, kosher salt, and black pepper. Stir well and set aside. - Make the Béchamel Sauce
Over medium-high heat, melt the butter in a saucepan. Once melted, whisk in the flour and cook for 1–1 ½ minutes, whisking continuously. Gradually add the milk while whisking to prevent lumps, and cook until the sauce thickens to a gravy-like consistency. Remove from heat and whisk in the salt, pepper, and nutmeg. - Slice the Potatoes
Once cool enough to handle, slice the potatoes into discs approximately ⅛ inch thick. - Assemble the Dish
Generously spray a baking dish or cast-iron skillet (9×13 or 3–3 ½ quart size) with nonstick cooking spray. - Line the bottom and sides with a layer of potato slices.
- Arrange the baked meatballs over the potatoes in a circular pattern.
- Tuck any remaining potato slices between the meatballs.
- Spoon the tomato sauce evenly over the meatballs.
- Pour the béchamel sauce over everything.
- Add Cheese and Bake
Sprinkle shredded mozzarella evenly over the dish. Bake for 45 minutes, or until the top becomes golden brown. - Cool and Serve
Allow the dish to rest for 10–15 minutes to let the juices settle before serving. Garnish with fresh parsley and enjoy hot!
Notes
- Letting the dish rest ensures the flavors meld and the potatoes absorb the liquid for a better texture.
- Shred mozzarella freshly from a block for better melting and flavor compared to pre-shredded cheese.
- Use a meat thermometer to ensure the meatballs reach an internal temperature of 160°F.
- To achieve a crispy cheese topping, briefly broil the dish during the last few minutes of baking, ensuring you don’t burn it.
- If the béchamel sauce becomes too thick, whisk in a bit of milk to adjust the consistency.
Nutrition
- Serving Size: 1 serving
- Calories: 400
- Sugar: 4g
- Sodium: 570mg
- Fat: 25g
- Saturated Fat: 10g
- Unsaturated Fat: 12g
- Trans Fat: 0g
- Carbohydrates: 24g
- Fiber: 2g
- Protein: 20g
- Cholesterol: 80mg