Mac and Cheese with Ham

Jump to Recipe

I love mac and cheese. Pasta. Cheese. Gooey deliciousness. What’s not to love? To make a more hearty meal, add a protein or mix it up a bit. Use tortellini instead of macaroni or shells. Top with a cracker crumble. Throw in some chicken and broccoli. That makes it healthy, right? Other add-in ideas: meatballs, bacon (mmmm…bacon), spicy sausage, veggies, pesto, or even tuna. I decided to take it up a notch by throwing in some diced ham.

I have a super yummy recipe when I don’t want to make boxed mac and cheese. You can use any kind of cheese that melts easily, like American (which does have its place but not today), but this is fancy mac and cheese so you swap out the American for a more grown up cheese: Gruyere. Gruyere is a type of Swiss cheese that doesn’t taste anything like that strong, holey Swiss cheese. Instead, it’s sweet, salty, and nutty without being overpowering. It’s also really creamy and melts easily so it’s perfect for fondue, grilled cheese, and of course, mac and cheese.

Making homemade mac and cheese is not hard, but is a little more time consuming that the box. The “hardest” part is making the actually sauce, but it’s a lot easier to make than you think. You won’t mess up. It won’t come out lumpy or burnt if you follow a few simple steps. I promise.

Do your prep work. Shred a bunch of cheese and dice your ham into bite-sized pieces.

While you’re cooking your pasta (to slightly under al dente because it’ll continue to cook a little in the oven), make your sauce. Heat up some milk. When it’s ready, it should be hot, but not boiling. If you can stick your little finger in it and it’s a little uncomfortable, but not burning, it’s perfect. It’ll also coat the spoon and pan a little. It took about three minutes for me on medium heat.

The key is not to heat it on high and or it might scorch the bottom of the pan. If that happens, just start over and be patient. It’ll do the right thing if you don’t rush it.

While this is going on, melt some butter that you’ve cubed into smaller squares so it melts quickly and more evenly than if you threw the whole stick in. Add the same amount of flour and whisk over low heat for about two minutes. Watch you go! You’re now making a roux, which is just a fancy way of saying you’ve combined some butter and flour that you can use to thicken a lot of stuff.

I depend on time to make sure the roux comes out right. After you’ve made a roux a few times, you’ll know what to look for, but for now, just stick to stirring for two minutes and note that it’s bubbly, no longer has that raw flour taste, and slightly darker than before. You can cook it longer to a more golden-brown if you want a darker, richer sauce, but I prefer mine fairly blond.

Add the hot milk and whisk the entire time for one to two minutes. The sauce will be thickened and smooth. Next comes the cheese. Throw that all in along with your seasonings and ham. When it’s well mixed and melty, it’ll look like fondue and it’ll be difficult not to dip cubes of sourdough bread into it. Resist the temptation. I mean, you should taste it to make sure it’s ok, but use some self-restraint.

Mix it with the cooked pasta, stir again until all the pasta is well coated. Plop it into a casserole pan.

Bake it until bubbly and slightly toasted on top.

That’s it.

The original recipe comes from Ina Garten, who makes a ton of amazing food. I completely trust all of her recipes. This recipe has been halved and macaroni has been substituted with shells. I also skipped the tomato and bread crumb topping.

Mac and Cheese with Ham


  • kosher salt
  • 1/2 pound pasta shells
  • 2 cups milk
  • 1/4 cup butter
  • 1/4 cup all-purpose flour
  • 6 ounces Gruyere cheese shredded
  • 4 ounces cheddar cheese shredded
  • 1/8 teaspoon black pepper
  • 1/8 teaspoon nutmeg
  • 2 cups ham diced


  • Preheat the oven to 375 degrees F.
  • Add the pasta to boiling, salted water and cook according to the directions on the package, 6 to 8 minutes. Drain well.
  • Meanwhile, heat the milk in a small saucepan, but don't boil it. Melt butter in a pot and add the flour. Cook over low heat for 2 minutes, stirring with a whisk. While whisking, add the hot milk and cook for a minute or two more, until thickened and smooth. Off the heat, add the Gruyere, Cheddar, 1 tablespoon salt, pepper, nutmeg, and ham. Add the cooked pasta and stir well. Pour into a baking dish.
  • Bake for 30 to 35 minutes, or until the sauce is bubbly and the macaroni is browned on the top.
Feel free to share this recipe: