Quick Recipe Version (TL;DR)
Quick Ingredients
- 12 oz wide egg noodles
- 2 cups diced cooked ham (about 10 oz)
- 1 1/2 cups frozen peas
- 4 Tbsp unsalted butter
- 1 small onion, finely chopped
- 2 cloves garlic, minced
- 1/4 cup all-purpose flour
- 2 cups low-sodium chicken broth
- 1 1/2 cups whole milk
- 1/2 cup sour cream
- 1 1/2 cups shredded sharp cheddar cheese
- 1/4 cup grated Parmesan cheese
- 1/2 cup plain breadcrumbs
- 1 Tbsp olive oil or melted butter (for topping)
- 1 tsp Dijon mustard, 1/2 tsp salt, 1/2 tsp black pepper
Do This
- 1. Heat oven to 375°F (190°C). Grease a 9×13-inch baking dish. Cook noodles in salted boiling water until just al dente; drain.
- 2. In a large pot, melt 4 Tbsp butter. Sauté onion 4–5 minutes, then add garlic for 30 seconds.
- 3. Sprinkle in flour; cook 1–2 minutes, stirring. Slowly whisk in broth, then milk. Simmer until thickened, 4–6 minutes.
- 4. Off heat, whisk in sour cream, Dijon, salt, and pepper. Stir in cheddar and Parmesan until melted and smooth.
- 5. Fold in ham, peas, and cooked noodles until evenly coated. Taste and adjust seasoning.
- 6. Transfer to dish. Toss breadcrumbs with olive oil, sprinkle over top. Bake 22–28 minutes, until bubbly and lightly golden.
- 7. Rest 5–10 minutes before serving so it sets slightly, then scoop and enjoy.
Why You’ll Love This Recipe
- Cozy, family-friendly comfort food with a creamy, cheesy sauce and tender noodles.
- Excellent way to use up leftover holiday ham or deli ham.
- Everything bakes in one pan and can be prepped ahead for busy nights.
- Flexible recipe that welcomes extra veggies, different cheeses, or toppings.
Grocery List
- Produce: 1 small onion, 2 cloves garlic, optional fresh parsley or chives for garnish
- Dairy: Unsalted butter, whole milk, sour cream, shredded sharp cheddar cheese, grated Parmesan cheese
- Pantry: Wide egg noodles, low-sodium chicken broth, all-purpose flour, plain breadcrumbs, olive oil, Dijon mustard, salt, black pepper
- Meat: Cooked ham (block, steak, or thick-cut slices for dicing)
- Frozen: Frozen peas
Full Ingredients
Casserole Base
- 12 oz wide egg noodles (about 8 cups cooked)
- 2 cups diced cooked ham (about 10 oz), cut in 1/2-inch cubes
- 1 1/2 cups frozen peas (no need to thaw fully; just break up any clumps)
Creamy Sauce
- 4 Tbsp unsalted butter
- 1 small yellow onion, finely chopped (about 1 cup)
- 2 cloves garlic, minced
- 1/4 cup all-purpose flour
- 2 cups low-sodium chicken broth
- 1 1/2 cups whole milk (or 2% milk for a lighter version)
- 1/2 cup sour cream
- 1 tsp Dijon mustard
- 1/2 tsp fine sea salt (plus more to taste)
- 1/2 tsp freshly ground black pepper
- 1/4 tsp smoked or sweet paprika (optional, for a subtle warmth)
Cheese
- 1 1/2 cups shredded sharp cheddar cheese (about 6 oz)
- 1/4 cup finely grated Parmesan cheese
Topping
- 1/2 cup plain dry breadcrumbs (panko or regular)
- 1 Tbsp olive oil or melted butter
- 2 Tbsp finely chopped fresh parsley or chives (optional, for garnish after baking)

Step-by-Step Instructions
Step 1: Prep the oven, pan, and noodles
Preheat your oven to 375°F (190°C). Lightly grease a 9×13-inch (3-quart) baking dish with butter or nonstick spray and set it aside.
Bring a large pot of well-salted water to a boil. Add the wide egg noodles and cook just until al dente, usually 1–2 minutes less than the package directs, since they will continue cooking in the oven. Drain the noodles and set them aside. For best texture, you can toss them with a teaspoon of olive oil to prevent sticking while you make the sauce.
Step 2: Sauté the aromatics
In a large, wide pot or deep skillet (big enough to hold all the noodles later), melt the 4 Tbsp butter over medium heat. Add the chopped onion and cook, stirring occasionally, until soft and translucent, about 4–5 minutes.
Add the minced garlic and cook for 30 seconds, just until fragrant. Be careful not to let the garlic brown, as it can turn bitter.
Step 3: Make the creamy sauce
Sprinkle the flour evenly over the onions and garlic. Stir constantly for 1–2 minutes; the mixture will look pasty. This step cooks off the raw flour taste and forms the base of your creamy sauce.
Slowly pour in the chicken broth while whisking constantly to avoid lumps. Once incorporated, gradually whisk in the milk as well. Bring the mixture to a gentle simmer, stirring often. Cook 4–6 minutes, or until the sauce thickens enough to coat the back of a spoon.
Turn the heat down to low. Whisk in the sour cream, Dijon mustard, salt, pepper, and paprika (if using). Taste and adjust seasoning as needed; the sauce should be well seasoned at this point.
Step 4: Add the cheeses and make it extra luscious
With the heat still on low, add the shredded cheddar and grated Parmesan in small handfuls, stirring after each addition until melted and smooth. Do not let the sauce boil once the cheese is in, or it may turn grainy.
When the sauce is velvety and evenly combined, turn off the heat. If it seems excessively thick, you can whisk in 2–4 Tbsp of additional milk until it reaches a creamy, pourable consistency.
Step 5: Fold in ham, peas, and noodles
Add the diced ham and frozen peas directly into the pot with the cheese sauce. Stir gently until they are evenly distributed and the peas begin to lose their chill.
Add the drained noodles to the pot. Using a large spoon or spatula, carefully fold everything together until all the noodles are coated in the creamy sauce and the ham and peas are spread throughout. Taste again and adjust salt and pepper if needed.
Step 6: Assemble the casserole and add the topping
Transfer the noodle mixture into the prepared 9×13-inch baking dish, spreading it out into an even layer. Make sure ham and peas are not all clumped in one area so every scoop gets a good mix.
In a small bowl, combine the breadcrumbs with the olive oil or melted butter. Stir until the crumbs are evenly moistened. Sprinkle this mixture evenly over the top of the casserole for a crisp, golden lid.
Step 7: Bake until bubbly and golden
Place the casserole on the middle rack of the preheated oven. Bake for 22–28 minutes, or until the edges are bubbling and the top is lightly golden brown.
Once baked, remove the dish from the oven and let it rest for 5–10 minutes. This short resting time helps the sauce thicken slightly so the casserole slices more cleanly. If you like, sprinkle the top with chopped fresh parsley or chives just before serving for a pop of color and freshness.
Pro Tips
- Do not overcook the noodles. Slightly undercooking them ensures they stay pleasantly firm after baking instead of turning mushy.
- Use block cheese if possible. Grating your own cheddar and Parmesan melts more smoothly than pre-shredded cheese, which often contains anti-caking agents.
- Adjust thickness of the sauce. If the sauce seems too thick before adding noodles, whisk in a splash or two of milk. If it seems too thin, simmer an extra minute or two.
- Season in layers. Taste the sauce before adding noodles and ham so you can adjust salt and pepper; ham can be salty, so go gradually.
- Brown the top under the broiler. For extra color, broil the casserole for 1–2 minutes at the end, watching very closely so the crumbs do not burn.
Variations
- Extra veggie version: Add 1 cup of sliced mushrooms, diced carrots, or chopped broccoli florets when you sauté the onions. Cook until just tender before adding the flour.
- Cheese swap: Try half cheddar and half Swiss or Gruyère for a slightly nutty flavor, or use Monterey Jack for a milder, super-melty casserole.
- Crunchy onion topping: Replace half of the breadcrumbs with crushed crispy fried onions for added flavor and texture.
Storage & Make-Ahead
To store leftovers, let the casserole cool to room temperature, then cover the dish tightly or transfer portions to airtight containers. Refrigerate for up to 3 days.
Reheat individual portions in the microwave in 30–45 second bursts, stirring in between, until heated through. For a crisper top, reheat larger portions in a 350°F (175°C) oven, covered with foil, for 15–20 minutes, then uncover for the last 5 minutes.
To make ahead, assemble the casserole up to the point of adding the breadcrumb topping. Cover tightly and refrigerate for up to 24 hours. When ready to bake, let it sit at room temperature for 20–30 minutes, add the breadcrumb mixture, and bake at 375°F (190°C). You may need to add 5–10 minutes to the baking time since it will be starting from cold.
The assembled, unbaked casserole can also be frozen (without the breadcrumb topping) for up to 2 months. Wrap well in plastic wrap, then foil. Thaw overnight in the refrigerator, add the topping, and bake as directed, adding extra time as needed until hot and bubbly.
Nutrition (per serving)
Approximate values per serving (1/6 of the recipe): about 560 calories; 28 g fat; 17 g saturated fat; 110 mg cholesterol; 45 g carbohydrates; 2 g fiber; 7 g sugar; 30 g protein; 950 mg sodium. Actual values will vary based on specific brands and ingredient variations.

