Did you know that mac and cheese can be easily prepared from scratch? It’s true! With a few kitchen staples including sharp cheddar cheese, milk, butter and flour, you can create the ultimate comfort food meal in 30 minutes. This homemade macaroni and cheese is a classic recipe that your whole family will love.
People are often surprised to learn that homemade mac and cheese isn’t complicated to prepare. So many of us grew up in the era of boxed mix cooking, and I think these assumptions are natural. I’d love to get rid of this myth.
Obviously nothing will be as easy as tearing open a box and dumping out the contents into a saucepan with some water or butter. But my point is that this isn’t hard or time consuming. You can do it!
I’ve used a combination of three cheeses: sharp cheddar, gruyere, and American. American cheese gets a bad rap, so you might be surprised to see it here. You can skip it if you prefer, and use all cheddar and gruyere cheese. But hear me out first.
The Best Cheese for Mac and Cheese
The American cheese you’re probably used to is the pre-sliced stuff sold alongside shredded cheese and boxed grated “parmesan” cheese. I don’t want you to use that stuff here. I want you to get a block of American cheese from the deli counter at your grocery store and grate it. Why?
It’s an excellent melting cheese, and it will creating an incredibly creamy texture similar to what you might expect with Velveeta. But it’s 1/4 of the total cheese, so you’ll mainly be tasting the cheddar and gruyere. The deli counter version isn’t the weird shiny plastic stuff you’re thinking of.
Homemade Macaroni and Cheese Ingredients
- Elbow macaroni
- Unsalted butter
- All-purpose flour
- Whole milk
- Dry mustard
- Cayenne pepper
- Garlic, grated
- Sharp cheddar cheese
- American cheese (from the deli counter; not slices)
- Gruyere cheese
Tips for The Best Homemade Mac and Cheese
- The most important thing to remember about macaroni and cheese is that real cheese can break when heated too quickly. That will create a gritty texture. It’s super easy to avoid this. Simply remove the saucepan from the heat before adding the cheese. The cream sauce will be hot enough to melt the cheese on its own.
- If you can’t find a block of deli counter American cheese, don’t substitute the packaged, pre-sliced version. Use either 3 extra ounces each of cheddar and gruyere, or… use 6 ounces of Velveeta. It will create a similar effect.
- You can lighten this up slightly by using 2% milk or a mix of 2% and whole milk, but I personally wouldn’t go lower than that. It’s mac and cheese. Honestly, I say go all in or don’t bother.
What Can You Add To Mac and Cheese?
Macaroni and cheese leaves plenty of room for creativity, especially if you want to sneak in some protein and/or vegetables. Here are a few of my recommendations:
- Protein: crab, lobster, shrimp, bacon, shredded chicken (rotisserie chicken works especially well)
- Vegetables: Any roasted vegetables will work. I’m partial to adding roasted broccoli, cauliflower, butternut squash. You can also stir in baby spinach or canned artichokes.
- Seasonings: Try adding a bit of hot sauce or increasing the cayenne pepper if you like a bit of heat. Other spices that work well include Italian seasoning, Old Bay (watch the saltiness), smoked paprika, everything bagel seasoning, and truffle oil.
What to Serve with Macaroni and Cheese
Since mac and cheese is on the heavier side, I recommend pairing it with a light salad or vegetables. I personally like serving it alongside my roasted broccoli with garlic and lemon or strawberry spinach salad.
More Cheesy Recipes
Love cheese as much as I do? You should also check out my recipes for Potatoes au Gratin, Cacio e Pepe, Cheesy Spinach and Artichoke Pasta, and Chorizo Queso Blanco Dip! I also love this recipe for Cheese Tortellini in garlic butter sauce from Culinary Hill.
Macaroni and Cheese
- 1 pound elbow macaroni
- 4 tablespoons unsalted butter
- 1/4 cup all-purpose flour (2 ounces)
- 4 cups whole milk
- 1/4 teaspoon dry mustard
- 1/8 teaspoon cayenne pepper
- Optional: 1 clove garlic, grated (highly recommended, see notes)
- 12 ounces freshly grated sharp cheddar cheese (preferably extra sharp)
- 6 ounces freshly grated American cheese (deli counter only, see notes)
- 6 ounces freshly grated gruyere cheese
- Optional: Freshly ground black pepper to taste
- In a large Dutch oven or saucepan, bring about 4 quarts of salted water to a rolling boil. Cook the macaroni until al dente. Drain through a colander, rinsing briefly to keep the pasta from sticking.
- Rinse the saucepan with cool water and dry off, then place back on the burner over low heat and add the butter (if the pan is still hot, remove from the heat while the butter melts to keep it from browning).
- Once the butter has melted, add the flour and begin whisking to form a paste. Continue whisking constantly over low heat until the paste (technically known as a roux), turns slightly yellow and begins to smell fragrant, 1-2 minutes. Slowly whisk in the milk, then turn the heat up to high. Whisk in the mustard, cayenne pepper, and garlic, if using.
- Cook, whisking constantly, until the sauce bubbles and thickens, 7-10 minutes. You’re looking for the consistency of cream soup.
- Once thick, remove from the heat and slowly whisk in the cheeses, one handful at a time. Make sure to do this off the heat. Once the sauce is smooth, stir in the macaroni.
- Divide into individual portions and serve.
- Leftovers can be kept in an airtight container in the refrigerator for up to 5 days.
Don’t use packaged American cheese. It’s not the same thing as what you’ll get at the deli counter, which can be purchased in blocks.
If you have a food processor, you can save a ton of time by using the shredding disc attachment to grate the cheese.
See post for additional tips.
Please read my full post for additional recipe notes, tips, and serving suggestions!
For help troubleshooting a recipe, please email firstname.lastname@example.org. I’ll try to respond to urgent questions as quickly as possible! This email address is only for recipe troubleshooting; Solicitations will be ignored.