
This gooey meatball and potato dish brings together juicy homemade meatballs with soft potato layers swimming in a thick, luscious sauce the whole family will crave. The blend of fresh herbs with two different sauces makes a meal that looks fancy but comes together with surprising ease.
I came up with this during a freezing winter when we needed something filling and hot. The first time I made it, my little one asked if we could eat it every weekend, and it's stuck around in our family menu ever since.
What You'll Need
- Ground beef: Makes wonderfully soft, flavorful meatballs. Try to grab meat with 80/20 fat content for the juiciest results
- Yellow onion: Gives a nice sweet kick and keeps meatballs moist. Pick ones that feel heavy and have tight skin
- Panko breadcrumbs: Make fluffier meatballs than regular crumbs. They hold everything together without making them too dense
- Yukon gold potatoes: Won't fall apart while cooking but get super creamy. Their naturally buttery taste works magic here
- Tomato sauce: Adds tangy richness. Grab your favorite jar or use leftover homemade
- Fresh herbs: Such as parsley and basil add brightness. Don't swap for dried in this dish
- Whole milk: Creates the smooth cream sauce. Stick with full-fat to avoid any splitting
- Mozzarella cheese: Makes that beautiful stretchy, golden top. Grate it yourself for the best melty texture
Easy Cooking Method
- Mix your meatballs:
- Toss beef, chopped onions, egg, and panko in a bowl, mixing softly with your fingers just until combined. Don't squish it too much or they'll get tough. Add herbs, a splash of lemon juice, salt and pepper with a gentle touch. The lemon perks up the flavor and helps make the meat tender.
- Form and cook them:
- Roll about 22 one-inch balls using a tablespoon or small scoop to keep them the same size. Set them on a parchment-covered baking sheet with a bit of space between. Bake at 350°F for 12-15 minutes until golden but still slightly underdone since they'll finish cooking later.
- Whip up your cream sauce:
- Let butter melt in a pot over medium heat until it bubbles but doesn't brown. Stir in flour, whisking non-stop for 2-3 minutes until it smells toasty and turns light gold. This mix will thicken your sauce. Pour in milk slowly while stirring to avoid lumps. Keep going until the sauce thickens enough that it sticks to the back of a spoon, roughly 5-7 minutes.
- Put it all together:
- Arrange potato slices on the bottom of an iron skillet or baking dish, letting them overlap a bit. Place meatballs on top in a nice pattern. Around the edges, stand potato slices and meatballs upright for a pretty look. Everything should fit snugly to hold its shape when served.
- Top it off and bake:
- Drizzle tomato sauce over meatballs without messing up your arrangement. Scatter fresh herbs all around. Pour cream sauce over everything, letting it sink between all the pieces. Cover with plenty of shredded mozzarella. Bake at 375°F for 45-50 minutes until bubbly and potatoes are soft when poked with a fork.

The real magic here comes from using two different sauces. I found this trick by accident when I mixed some leftover meatballs in red sauce with a potato gratin I was making. My family couldn't get enough, and I've been tweaking it to perfection ever since.
Prep It Early
This dish is fantastic for planning ahead. You can fix all parts separately up to two days before you put it together. The meatballs can be fully cooked and kept in the fridge, and the cream sauce stored in a container with a lid. Just warm the sauce slightly before assembly so it pours smoothly. You can even put the whole thing together and keep it in the fridge overnight before baking—just add about 10-15 minutes to the cooking time if it's coming straight from the cold.
Switch Things Up
Feel free to play around with what goes in this dish based on what's in your kitchen. Ground turkey or chicken works instead of beef for something lighter, though you might want to add a spoonful of olive oil to keep them juicy. Red potatoes can sub for Yukon golds but might need cooking a little longer. You can make the cream sauce without dairy by using plain almond milk and plant-based butter, though it won't get quite as thick. If you need to skip gluten, use gluten-free breadcrumbs and a cup-for-cup gluten-free flour mix in your cream sauce.
What Goes With It
This filling dish stands on its own, but a simple green salad with tangy dressing cuts through the richness nicely. For dinner guests, bring the skillet right to the table with some crusty bread for soaking up all that amazing sauce. Sprinkling fresh herbs on top just before eating adds a pop of color and freshness. It tastes great with a medium red wine like Chianti or Merlot that goes well with both the tomato and cream flavors.

This dish blends favorite cooking traditions to create something truly comforting and warming for your dinner table. Hope it helps you make some wonderful family moments around the table!
Frequently Asked Questions
- → Are other potatoes okay to use?
Absolutely! You can swap Yukon golds with red or even russet potatoes. Just make sure the slices are uniform for consistent cooking.
- → What’s the best way to prepare ahead?
You can pre-make the meatballs, slice the potatoes, and whip up the cream sauce. Assemble everything, cover, and chill in the fridge. Bake it later, adding a bit of extra time if it's still cold.
- → Is there a vegetarian version?
Yes! Swap the meatballs for veggie-based options like plant-based ones or cooked lentil balls. You might need to tweak cooking times too.
- → What’s good to serve with it?
Pair it with some crispy roasted veggies, a crisp green salad, or crusty bread for mopping up that creamy sauce.
- → How should I handle leftovers?
Let the dish cool down completely. Store in an airtight container in the fridge for up to three days. To reheat, either pop it in the oven at 350°F until warm or use the microwave for smaller portions.