Scalloped Potatoes and Ham
This is the kind of recipe that makes you look like you’ve been secretly attending culinary school, when really you just followed some very good directions and managed not to burn anything.

Picture layers of tender Yukon Gold potatoes swimming in a creamy, garlicky sauce, studded with chunks of savory ham and blanketed with melted sharp cheddar that gets all golden and bubbly on top.

The aroma alone will have your family hovering around the kitchen like moths to a flame, asking “Is it ready yet?” approximately every thirty seconds.

What makes this recipe absolutely brilliant is how it transforms simple ingredients into something that tastes like it came from a fancy restaurant, but requires zero fancy techniques or equipment.

The secret lies in those paper-thin potato slices that cook to creamy perfection, absorbing all that rich, savory goodness while the ham adds little pockets of smoky flavor throughout.

This is comfort food at its finest – the kind of dish that makes people lean back in their chairs with satisfied sighs and immediately ask for the recipe.

Ingredients
For the aromatic base
- 2 tablespoons unsalted butter
- 1 medium onion, 1/4-inch diced
- 6 garlic cloves, minced (about 2 tablespoons)
For the creamy sauce
- 1 cup whole milk
- ¾ cup low sodium chicken broth or vegetable broth
- 1 ½ teaspoons kosher salt, divided
- ½ teaspoon ground black pepper
For the layers
- 3 pounds Yukon Gold potatoes (about 6 to 8 medium potatoes)
- 3 tablespoons all-purpose flour
- 2 cups 1/4 to 1/2-inch diced cooked ham
- 4 ounces sharp cheddar cheese, shredded (about 1 cup)
- 2 tablespoons finely grated Parmesan cheese
Instructions
Preparation
- 1 Place a rack in the center of your oven and preheat to 375°F (190°C). Coat a 9×13 inch casserole dish with nonstick spray and set aside. This ensures even cooking and prevents sticking.
- 2 In a medium pot or cast iron skillet with high sides, melt the butter over medium-low heat. Add the diced onion and cook for 8 to 10 minutes, stirring often with a silicone spatula, until translucent. The key here is patience – adjust the heat as needed so the onion softens but does not brown, which would add bitter notes to your creamy sauce.
- 3 Stir in the minced garlic and cook just until fragrant, about 1 minute more. You’ll know it’s ready when the kitchen fills with that irresistible aroma of sautéed garlic.
Making the sauce
- 4 Turn off the heat completely. Stir in the milk, broth, 1 teaspoon of the salt, and the black pepper using a whisk to ensure everything combines smoothly. Set this mixture aside – it will be the creamy foundation that transforms your potatoes into pure comfort food magic.
Preparing the potatoes
- 5 Peel the potatoes using a sharp knife or vegetable peeler. With a mandoline slicer (this truly is the easiest method for uniform slices!) or a sharp chef’s knife, carefully cut the potatoes into very thin slices (about 1/8-inch thick). Don’t cut them any thicker or they may not cook through properly, leaving you with crunchy potato disappointment.
- 6 Place the potato slices in a large mixing bowl and sprinkle with the flour and remaining 1/2 teaspoon salt. With clean hands, toss everything together until each slice is lightly coated. The flour will help thicken the sauce as it bakes.
Assembly
- 7 Spread one-third of the sliced potatoes in an even layer in the bottom of your prepared dish. Spoon 1 cup of the milk-broth mixture over the top, ensuring it reaches the edges. Sprinkle with 2/3 cup of the diced ham and one-third of the shredded cheddar cheese.
- 8 Repeat the layering process twice more, so you have 3 complete layers each of potato, milk-broth mixture, ham, and cheddar cheese. You’ll end with a beautiful layer of melted cheddar on top.
Baking
- 9 Lightly mist a large piece of aluminum foil with nonstick spray. Cover the dish with the foil, placing it spray-side down to prevent sticking, and bake for 35 minutes. This covered baking time allows the potatoes to steam and become tender.
- 10 Remove the foil and bake for an additional 25 minutes uncovered. The top should be starting to turn golden and the liquid should be bubbling around the edges.
Finishing touches
- 11 Remove the dish from the oven and sprinkle with the finely grated Parmesan cheese. Turn your oven to broil and return the pan to the oven. Broil until the cheese is golden brown and bubbly, about 1 to 3 minutes. Keep a close eye on it during this step – broilers work fast and you don’t want to go from golden perfection to charcoal disaster!
- 12 Sprinkle with fresh herbs if using. Allow the dish to stand at room temperature for 20 to 25 minutes to allow the milk mixture to set and thicken properly. This resting time is crucial – it’s what transforms your casserole from soupy to perfectly creamy. Serve hot with additional salt and pepper to taste, keeping in mind that the saltiness will vary based on your ham and broth choices.
Recommended Equipment and Kitchen Tools
Recommended Tools (for best results)
- Mandoline slicer – This is genuinely a game-changer for achieving those perfectly uniform, paper-thin potato slices that cook evenly throughout. The consistent thickness ensures no crunchy surprises in your finished dish.
- 9×13 inch casserole dish – A quality ceramic or glass baking dish distributes heat evenly and looks beautiful when serving. Avoid metal pans which can react with the dairy and create off-flavors.
- Large mixing bowls – You’ll need space to toss those potato slices with flour and salt without making a mess all over your counter.
- Silicone spatula – Perfect for stirring the onions without scratching your cookware, and essential for scraping every bit of that precious creamy sauce.
Helpful Upgrades
- Cast iron skillet with high sides – Excellent heat retention for building your sauce base, and the high sides prevent splattering when you add the liquids.
- Kitchen scale – For the most accurate measurements, especially when portioning your potato layers evenly.
- Microplane grater – Creates the finest Parmesan cheese texture that melts beautifully under the broiler.
Nice-to-Have Options
- Aluminum foil – Heavy-duty foil works best for covering during the initial baking phase and won’t tear when you’re handling it.
- Instant-read thermometer – While not essential, checking that your potatoes reach 200°F (93°C) internally ensures they’re perfectly tender throughout.
Recipe Variations and Dietary Modifications
Gluten-Free Adaptation
- Replace the 3 tablespoons all-purpose flour with 2 tablespoons cornstarch or 3 tablespoons gluten-free flour blend
- Cornstarch will create a slightly glossier sauce, while gluten-free flour maintains the traditional texture
- No adjustments needed for baking time or temperature
- Always check that your ham and broth are certified gluten-free
Dairy-Free Modifications
- Substitute 1 cup unsweetened oat milk or full-fat coconut milk for the whole milk
- Replace butter with 2 tablespoons olive oil or vegan butter
- Use 1 cup nutritional yeast mixed with 2 tablespoons cashew cream instead of the cheddar cheese
- Skip the Parmesan or use a dairy-free alternative
Vegetarian Version
- Omit the ham entirely and add 2 cups sautéed mushrooms (cremini or shiitake work beautifully)
- Include 1 cup caramelized onions for extra depth of flavor
- Add 1 teaspoon smoked paprika to replicate some of the smoky notes from the ham
- Consider adding 1 cup steamed broccoli florets between layers
Low-Carb Modifications
- Replace potatoes with 3 pounds thinly sliced turnips or cauliflower
- Reduce the flour to 1 tablespoon or eliminate entirely
- Increase the cheese content to 6 ounces for extra richness
- Expect a slightly different texture but equally satisfying results
Flavor Variations
- Herb-crusted version: Add 2 tablespoons fresh thyme and 1 tablespoon rosemary to the layers
- Spicy kick: Include 1 diced jalapeño with the onions and 1/2 teaspoon cayenne pepper
- Gourmet upgrade: Use Gruyère cheese instead of cheddar and add 2 tablespoons white wine to the sauce
Nutritional Information and Health Benefits
Key Nutritional Highlights
Health Benefits of Main Ingredients
Dietary Considerations
Smart Swaps and Ingredient Substitutions
Common Substitutions:
- Yukon Gold potatoes → Russet potatoes (slice slightly thinner as they’re starchier) or red potatoes (leave skins on for extra texture)
- Whole milk → Half-and-half for extra richness, or 2% milk plus 2 tablespoons heavy cream for similar results
- Sharp cheddar → Gruyère for nuttier flavor, Monterey Jack for milder taste, or smoked cheddar for extra depth
- Cooked ham → Leftover turkey, cooked bacon (use less due to higher fat content), or prosciutto (add during last 15 minutes)
Budget-Friendly Swaps:
- Fresh garlic → 1 tablespoon garlic powder (add with the flour)
- Sharp cheddar → Mild cheddar or American cheese (more affordable, still delicious)
- Low-sodium broth → Homemade stock or bouillon cubes (adjust salt accordingly)
- Unsalted butter → Regular butter (reduce added salt by half)
Pantry Emergency Substitutions:
- Fresh onion → 2 tablespoons onion powder mixed into the sauce
- Whole milk → Evaporated milk diluted with equal parts water
- All-purpose flour → Instant mashed potato flakes (2 tablespoons) for thickening
- Fresh herbs → 1 teaspoon dried herbs (add during cooking, not as garnish)
Pro Tips for Substitutions:
- When using different potato varieties, adjust slicing thickness accordingly – waxy potatoes can be slightly thicker, starchy ones should be thinner
- Cheese substitutions work best when you maintain similar melting properties – avoid pre-shredded cheese when possible as it contains anti-caking agents
- Milk alternatives with higher fat content will create richer results, while lower-fat options may need additional thickening

Make It Diabetes-Friendly
Carb Reduction Strategies:
- Replace half the potatoes with thinly sliced turnips or cauliflower to reduce carbs by approximately 35%
- Use 2 tablespoons almond flour instead of all-purpose flour for thickening
- This modification reduces the carb content from 28g to approximately 18g per serving
- The cooking time remains the same, but check for tenderness as root vegetables cook differently
Portion Control Modifications:
- Divide into 16 smaller servings instead of 12 for better blood sugar management
- Each smaller portion contains approximately 14g carbohydrates
- Pair with 2 cups non-starchy vegetables like steamed broccoli or green beans
- Add 1 tablespoon olive oil to vegetables for healthy fats that slow carb absorption
Smart Timing Tips:
- Serve as a side dish rather than main course, limiting portion to 1/2 cup
- Include 4 oz lean protein (grilled chicken or fish) to balance the meal
- Eat earlier in the day when insulin sensitivity is typically higher
- Consider having a small salad first to increase fiber and slow digestion
Ingredient Swaps for Lower Impact:
- Use unsweetened almond milk instead of whole milk to reduce carbs by 6g per serving
- Add extra vegetables like bell peppers or zucchini between layers
- Choose lower-sodium ham to reduce overall sodium content
Total Carb Reduction: These modifications can reduce carbohydrates from 28g to 12-15g per serving while maintaining the comforting, satisfying nature of this classic dish.

Perfect Pairing Suggestions
Beverage Pairings
Side Dish Recommendations
Complete Meal Ideas
Occasion Suggestions
Pro Tips and Troubleshooting
Professional Techniques
Common Mistakes and Solutions
Storage and Reheating
Make-Ahead Strategies
Scaling Tips

Scalloped Potatoes and Ham
Ingredients
For the aromatic base
- 2 tablespoons unsalted butter
- 1 medium onion, 1/4-inch diced
- 6 garlic cloves, minced about 2 tablespoons
For the creamy sauce
- 1 cup whole milk
- ¾ cup low sodium chicken broth or vegetable broth
- 1 ½ teaspoons kosher salt, divided
- ½ teaspoon ground black pepper
For the layers
- 3 pounds Yukon Gold potatoes about 6 to 8 medium potatoes
- 3 tablespoons all-purpose flour
- 2 cups 1/4 to 1/2-inch diced cooked ham
- 4 ounces sharp cheddar cheese, shredded about 1 cup
- 2 tablespoons finely grated Parmesan cheese
Instructions
Preparation
- Place a rack in the center of your oven and preheat to 375°F (190°C). Coat a 9×13 inch casserole dish with nonstick spray and set aside. This ensures even cooking and prevents sticking.
- In a medium pot or cast iron skillet with high sides, melt the butter over medium-low heat. Add the diced onion and cook for 8 to 10 minutes, stirring often with a silicone spatula, until translucent. The key here is patience – adjust the heat as needed so the onion softens but does not brown, which would add bitter notes to your creamy sauce.
- Stir in the minced garlic and cook just until fragrant, about 1 minute more. You’ll know it’s ready when the kitchen fills with that irresistible aroma of sautéed garlic.
Making the sauce
- Turn off the heat completely. Stir in the milk, broth, 1 teaspoon of the salt, and the black pepper using a whisk to ensure everything combines smoothly. Set this mixture aside – it will be the creamy foundation that transforms your potatoes into pure comfort food magic.
Preparing the potatoes
- Peel the potatoes using a sharp knife or vegetable peeler. With a mandoline slicer (this truly is the easiest method for uniform slices!) or a sharp chef’s knife, carefully cut the potatoes into very thin slices (about 1/8-inch thick). Don’t cut them any thicker or they may not cook through properly, leaving you with crunchy potato disappointment.
- Place the potato slices in a large mixing bowl and sprinkle with the flour and remaining 1/2 teaspoon salt. With clean hands, toss everything together until each slice is lightly coated. The flour will help thicken the sauce as it bakes.
Assembly
- Spread one-third of the sliced potatoes in an even layer in the bottom of your prepared dish. Spoon 1 cup of the milk-broth mixture over the top, ensuring it reaches the edges. Sprinkle with 2/3 cup of the diced ham and one-third of the shredded cheddar cheese.
- Repeat the layering process twice more, so you have 3 complete layers each of potato, milk-broth mixture, ham, and cheddar cheese. You’ll end with a beautiful layer of melted cheddar on top.
Baking
- Lightly mist a large piece of aluminum foil with nonstick spray. Cover the dish with the foil, placing it spray-side down to prevent sticking, and bake for 35 minutes. This covered baking time allows the potatoes to steam and become tender.
- Remove the foil and bake for an additional 25 minutes uncovered. The top should be starting to turn golden and the liquid should be bubbling around the edges.
Finishing touches
- Remove the dish from the oven and sprinkle with the finely grated Parmesan cheese. Turn your oven to broil and return the pan to the oven. Broil until the cheese is golden brown and bubbly, about 1 to 3 minutes. Keep a close eye on it during this step – broilers work fast and you don’t want to go from golden perfection to charcoal disaster!
- Sprinkle with fresh herbs if using. Allow the dish to stand at room temperature for 20 to 25 minutes to allow the milk mixture to set and thicken properly. This resting time is crucial – it’s what transforms your casserole from soupy to perfectly creamy. Serve hot with additional salt and pepper to taste, keeping in mind that the saltiness will vary based on your ham and broth choices.
