Real Southern baked mac and cheese should hold a clean edge when you cut it. Not soupy. Not stiff like a brick either. Somewhere in the middle, where a square lifts out of the dish, stays together on the plate, and still gives a little when the fork goes in. That balance is the whole job here.
This version gets there the old way. Hand-shredded cheese. A proper roux. Eggs stirred in to set the sauce into a soft custard while it bakes. The top goes deep golden and a little crisp at the corners, the edges bubble, and the inside stays rich and smooth instead of breaking into grease. It takes about an hour from start to finish, most of it hands off in the oven. In our kitchen we make it for Sunday dinner, holidays, and potlucks, and leftovers rarely survive long because a reheated square with a splash of milk is still better than most fresh sides.
The Kind With the Crust on Top
Start with the roux, because everything else depends on it. Butter and flour cooked together for a full minute lose that raw, pasty taste and become the base that lets the sauce thicken smoothly. Add the milk a little at a time while whisking and the sauce stays silky. Rush it, dump cold milk in all at once, and you will be whisking at lumps for ten minutes. A gentle simmer is enough to activate the thickening. No hard boil needed.
The eggs are what make it Southern. Warmed first with a little hot sauce so they do not scramble, then stirred through the pasta, they set in the oven into a tender custard that holds the macaroni together. That is why you get slices instead of a puddle. Two other rules matter just as much. Take the pan off the heat before the cheese goes in, because cheese melted over direct high heat breaks and turns oily. And shred cheese from a block yourself. Pre-shredded cheese is coated with anti-caking starch that fights melting, so the sauce can turn grainy no matter how carefully you stir. Block cheese melts clean. It is a five minute job that changes the whole dish.

Cheese Matters: The List
Nothing fancy here. Just buy the cheese in blocks and shred it yourself, it takes five minutes and changes everything.
- 1 pound elbow macaroni
- 1/2 cup (1 stick) unsalted butter, plus more for the dish
- 1/2 cup all-purpose flour
- 4 cups whole milk, warmed slightly
- 1 teaspoon salt
- 1 teaspoon garlic powder
- 1/2 teaspoon smoked paprika, plus more for the top
- 1/2 teaspoon dry mustard
- 1/4 teaspoon black pepper
- 4 cups shredded sharp cheddar cheese, divided
- 2 cups shredded Colby Jack cheese
- 2 large eggs, beaten
- 1/2 cup sour cream (optional, for extra tang)
Sharp cheddar carries the flavor. Colby Jack is there for melt and creaminess, and the two together work better than either one alone. Want more depth for a holiday table? Swap in a cup of smoked gouda for part of the cheddar. Whole milk is not a suggestion, really. Low fat milk makes a thinner sauce that can bake up loose and a little sad. The dry mustard will not make anything taste like mustard. It just sharpens the cheese, the way it does in classic cheese sauces, and you would miss it if it was gone. Using salted butter instead? Cut the added salt to 1/2 teaspoon. The sour cream is optional, and it adds a gentle tang that keeps all that richness from sitting heavy.
Building the Sauce
- Heat the oven to 350 degrees F. Butter a 9 by 13 inch baking dish well. Cook the macaroni in a large pot of well salted boiling water for 1 minute less than the package directs for al dente, since it will finish in the oven. Drain and set aside, do not rinse.
- While the pasta cooks, melt the butter in a large saucepan or Dutch oven over medium heat. Whisk in the flour and cook, whisking constantly, for 1 full minute. It should smell slightly nutty and look like wet sand.
- Pour in the warm milk about a cup at a time, whisking after each addition until smooth. Cook for 4 to 5 minutes, stirring often, until the sauce thickens enough to coat the back of a spoon.
- Remove the pan from the heat. Stir in the salt, garlic powder, smoked paprika, dry mustard, and black pepper. Let the sauce cool for 2 minutes so it does not scramble the eggs later.
- Stir in 3 cups of the cheddar and all of the Colby Jack, a handful at a time, letting each addition melt before adding the next. Stir in the sour cream if using.
- In a small bowl, whisk the beaten eggs with about 1/2 cup of the warm cheese sauce to temper them. Pour the egg mixture back into the pot and stir everything together quickly.
- Add the drained macaroni to the sauce and fold until every noodle is coated. Pour it all into the prepared baking dish and spread it out evenly. Top with the remaining 1 cup of cheddar and a light dusting of smoked paprika.
- Bake uncovered for 30 to 35 minutes, until the top is deep golden and the edges are bubbling. For an extra crisp top, broil for the final 1 to 2 minutes and watch it closely.
- Rest for 10 minutes before serving. This short rest lets the custard set, so the first slice comes out clean and the sauce stays where it belongs, on the pasta.
Getting That Baked Top Right
- Shred your own cheese. Yes, again. This one step is the difference between a smooth sauce and a grainy one. A box grater and five minutes is all it takes.
- Undercook the pasta slightly. The noodles keep cooking in the hot sauce and again in the oven. Pasta boiled all the way to done goes soft and mushy by serving time.
- Warm the milk. Cold milk hitting a hot roux can seize and turn lumpy. Two minutes in the microwave or a small saucepan makes the sauce come together silky every time.
- Never boil cheese sauce. Once the cheese goes in, keep the heat gentle and brief. Boiling breaks the emulsion and leaves grease pooling on top.
- Rest before cutting. Ten minutes feels long when the table is waiting. It is also what gives you clean, beautiful squares instead of a scoop of soup.
Variations for the Table
A crunchy top is easy if that is your preference. Toss 1 cup of panko bread crumbs with 2 tablespoons of melted butter and scatter them over the cheese before baking. For a fuller holiday version, stir in a cup of diced ham or crumbled cooked bacon. A little heat works too. Swap the Colby Jack for pepper Jack and add a diced jalapeno to the sauce. If you want to lighten the pan without anyone noticing, replace a third of the pasta with small blanched cauliflower florets. It blends right in under the sauce. For a gluten-free version, use your favorite gluten-free elbow pasta and a cup for cup gluten-free flour blend in the roux, and check that your cheeses are certified, as most block cheeses are. Small tweaks, same comforting result.
Storage and Reheating
Covered tightly, leftovers keep in the refrigerator for up to 4 days. Individual portions freeze well in airtight containers for up to 2 months, though the sauce is at its very best fresh, and we will not pretend otherwise. Reheat single servings in the microwave with a tablespoon of milk stirred in, at 50 percent power, to bring back the creaminess. A whole dish reheats best covered with foil in a 325 degree F oven for 20 to 25 minutes, with a small splash of milk folded through first. That splash matters. Without it the sauce tightens up. The air fryer also revives a single square nicely at 350 degrees F for about 5 minutes, with a crisp top you cannot get any other way, edges included.
Mac and Cheese Questions
Why did my mac and cheese turn out grainy? Graininess almost always comes from heat. Either the sauce was boiling when the cheese went in, or pre-shredded cheese with its anti-caking coating was used. Next time, take the pan off the heat, let it cool a minute, and shred cheese from a block.
Can I make this ahead for a holiday? Yes. Assemble the whole dish without the final cheese topping, cover, and refrigerate up to 24 hours. Add the topping cheese and bake straight from the fridge, adding about 10 extra minutes to the bake time.
Do I really need the eggs? For true Southern style, yes. The eggs are what set the custard and give you slices that hold together. You can leave them out for a looser, creamier stovetop style result, but it will not slice, and it is really a different dish.
How do I keep the top from drying out? Make sure the final layer of cheese covers the pasta completely, since bare noodles crisp and harden in the oven. If your top browns too quickly, lay a sheet of foil loosely over the dish for the last 10 minutes.
The Recipe, Briefly
- Prep time: 20 minutes
- Cook time: 35 minutes
- Total time: 55 minutes (plus 10 minutes resting)
- Servings: 10
- Calories: 520 per serving (estimated)


