This Homemade Mac and Cheese Sauce is ultra creamy, cheesy, and made completely from scratch—no Velveeta or powdered mix in sight. The secret? A rich roux-based sauce made with evaporated milk, two types of cheddar, Swiss, and nutty Gruyère. It’s cozy, customizable, and way better than anything from a box. Just toss it with your favorite cooked pasta and dinner is served!

Mac and cheese can be a side dish (or main dish) – it’s a personal favorite for me! If you also enjoy different mac and cheese recipes, you might want to try my Dutch Oven Mac and Cheese or my Baked White Cheddar Mac and Cheese! Both are rich and creamy with their unique twists.
Looking for something more? Try my French Onion Mac & Cheese! This dish has all of the flavors of a classic French onion soup!
Table of Contents
- Why You’ll Love This Recipe
- What is a Roux?
- Ingredients & Substitutions
- How to Make Homemade Mac and Cheese Sauce
- How to Make the Cheese Sauce Ahead
- Recipe Serving Suggestions
- Expert Tips & Variations
- Most Common Mistakes
- Additions & Variations
- Recipe FAQs
- More Sauce Recipes
- Homemade Mac and Cheese Sauce Recipe
Why You’ll Love This Recipe
- No Processed Cheese: Only real blocks of cheese for maximum flavor and melt.
- Ultra Creamy: Evaporated milk helps create an extra silky sauce.
- Customizable: Swap in different cheeses or use your favorite pasta shapes.
- Family Favorite: A classic comfort food the whole crew will love.
What is a Roux?
A roux is a mixture typically made with equal parts fat and flour. For the fat portion, butter, oil, lard, etc. can be used.
This mixture is whisked together and cooked until a paste forms. This paste is used to thicken sauces.
In this case, milk is added to create a bechamel sauce, which is the base for this easy cheese sauce recipe.
Ingredients & Substitutions

- Unsalted Butter: Forms the base of the roux. If using salted butter, reduce added salt slightly.
- All-Purpose Flour: Thickens the sauce. Be sure to cook it for 1–2 minutes to eliminate the raw taste.
- Evaporated Milk: Evaporated milk has a richer flavor and less water than regular milk. I have not tested this recipe without it, but you should be able to replace it with half and half.
- Milk: Any type of milk will work. I have tried this recipe with both skim and 2% milk. I do not recommend non-dairy milk.
- Hot Pepper Sauce: This does not make the sauce spicy, it just adds a tangy flavor. I highly recommend it, but it can be omitted.
- Granulated Garlic, Onion Powder, & Ground Mustard: Build savory flavor. You can sub fresh garlic or Dijon for a slightly different flavor twist.
- Kosher Salt: All of my recipes are tested with Morton kosher salt unless noted otherwise. It is the best salt for everyday cooking because of its size and flavor. If using table salt, the amount should be reduced. I highly recommend picking up some kosher next time you are at the store!
- Black Pepper: Season to taste. Don’t skip the black pepper!
- Cheese: You need 20 ounces (5 cups) of cheese for this recipe. Use your favorites. I prefer the combination of swiss, cheddar, and gruyere. You can also try parmesan cheese, colby jack, American, smoked gouda, sharp white cheddar, or pepper jack.
- Pasta: Depending on how cheesy you like your mac and cheese, you can adjust the amount of pasta. For baked mac and cheese with bread crumbs, I recommend 16 ounces, because it dries out in the oven. For stovetop, you can use up to 16-20 ounces. Save some pasta water to thin the sauce if needed.
Complete list of ingredients and amounts is located on the recipe card below.
How to Make Homemade Mac and Cheese Sauce
Quick Overview
- Make the roux.
- Add the milk.
- Season the base.
- Thicken the sauce.
- Melt the cheese.
- Add the pasta.
Step by Step Instructions

Cook the roux for 1-2 minutes to remove the raw flour taste.
- Melt Butter: Over medium heat, in a large pan, melt the butter.
- Add Flour: Whisk in the flour and cook for 1-2 minutes.
- Add Dairy: Add in evaporated milk and regular milk.
- Dissolve Flour: Whisk until the flour dissolves.

The sauce should just be thick enough to coat the back of a spoon.
- Add Spices & Hot Sauce: Add hot sauce, garlic, onion, mustard powder, salt, and pepper.
- Combine Spices: Whisk until spices are combined.
- Simmer Sauce: Continue stirring and simmering the sauce (not boiling) until it thickens enough to coat the back of a spoon (about 4 minutes). It will continue to thicken when you add the cheese.
- Add Swiss Cheese: Stir in the swiss cheese until melted.

Be sure to not overheat the cheese homemade mac and cheese sauce.
- Add Cheddar & Gruyere Cheese: Add the cheddar and gruyere.
- Stir: Stir until melted. The sauce should be smooth.
- Add Pasta: Add the cooked pasta to the sauce.
- Combine: Fold until combined. The sauce will continue to thicken as it cools.
How to Make the Cheese Sauce Ahead
This cheese sauce can easily be made in advance to save time on busy weeknights. Follow these simple steps to prep it ahead and store it properly:
- Cook the Sauce: Prepare the mac and cheese sauce as directed in the recipe—melting the butter, whisking in the flour, adding the milk and spices, and stirring in the cheeses until smooth and creamy.
- Cool Completely: Once the sauce is finished, remove it from the heat and let it cool to room temperature. Stir occasionally to prevent a skin from forming on top.
- Transfer to a Container: Pour the cooled sauce into an airtight container. A glass or BPA-free plastic container with a tight-fitting lid works best.
- Refrigerate: Store the sauce in the fridge for up to 2 days. Make sure it’s completely sealed to prevent it from absorbing any odors.
- Reheat Gently: When ready to use, pour the sauce into a saucepan and reheat over low heat, stirring frequently. Add a splash of warm milk to loosen the sauce as it heats—this helps bring back that ultra-creamy texture.
- Add Freshly Cooked Pasta: Once the sauce is warm and smooth, stir in freshly boiled pasta. Toss until fully coated and enjoy!
Recipe Serving Suggestions
You don’t have to be limited to serving this cheese sauce with just pasta. Think outside the box and serve this cheese sauce with bread and raw vegetables as a cheese fondue. If you do stick to serving it with pasta, here are some of my favorite main dish recipes:
- Crispy Chicken Tenders: A weeknight must. Juicy, flavorful, and perfectly golden without the deep fryer, they’re a total crowd-pleaser!
- Oven Baked Boneless Pork Chops: Finished with a rich and tangy mustard cream sauce, these pork chops make an elegant yet easy weeknight meal with simple ingredients.
- Dutch Oven BBQ Chicken: This chicken is sweet, sticky, and super tender. The best part? It only takes about 30 minutes to make!
- Cast Iron Skillet Lamb Chops: These lamb chops are juicy and finished with a tangy herb garlic sauce. You only need a few simple ingredients to make these.
Expert Tips & Variations
- Grate Your Own Cheese: Pre-shredded cheese contains anti-caking agents that prevent smooth melting. You can also use pre-sliced cheese. It does not usually have ant-caking agents.
- Whisk Vigorously: This will ensure the roux is combined with the milk.
- Add Liquid Slowly: To prevent your sauce from becoming lumpy, add liquids slowly.
- Simmer, Don’t Boil: Boiling can cause the sauce to separate or get grainy. Keep it at a gentle simmer.
- Thin If Needed: If your sauce gets too thick, add a splash of warm milk to loosen it.
Most Common Mistakes
- Skipping the Roux Cook Time: Not cooking the flour long enough can lead to a grainy or floury-tasting sauce.
- Boiling the Sauce: High heat can cause the dairy to separate and curdle. Always keep the sauce at a gentle simmer.
- Using Pre-Shredded Cheese: It doesn’t melt as well due to added starches. Always shred cheese fresh from the block.
- Overcooking the Cheese: Add cheese off the heat or over low heat to avoid clumping or breaking.
Additions & Variations
- Add Protein: Stir in cooked bacon, diced ham, or shredded rotisserie chicken for a heartier dish.
- Make it Spicy: Use pepper jack cheese or add a pinch of cayenne or red pepper flakes.
- Veggie Boost: Fold in steamed broccoli, sautéed spinach, or peas.
- Baked Version: Pour the mac and cheese into a baking dish, top with buttered breadcrumbs, and bake at 375°F for 20–25 minutes until golden and bubbly.
- Adjust the Amount of Pasta: Pictured is 16 ounces of elbow macaroni folded with all of the sauce. This results in a super saucy macaroni and cheese, which is ideal for baked macaroni or if you plan to keep it warm in a slow cooker. Use more pasta and a splash of pasta water for a lighter coat (best for stovetop).

Recipe FAQs
Typically the base of a sauce for mac and cheese is bechamel which is made from a roux and milk. A roux is a combination of fat and flour, in this case butter. The cheese is melted into this sauce.
Aside from cheese, butter, cream, and milk make it creamy. If your macaroni and cheese is dry, you may have too thick of a sauce or not enough sauce. Add some pasta water, chicken broth, or milk to moisten it.
I like to use a combination of swiss, cheddar, and gruyere. Gruyere adds nice flavor and swiss adds some creaminess. Cheddar adds a bit of both.
More Sauce Recipes
If you try this recipe, please leave a star rating in the recipe card below and/or comment! I always appreciate your feedback. Follow me on Pinterest, Facebook & Instagram.

Homemade Mac and Cheese Sauce
Ingredients
- 1 stick (1/2 cup) unsalted butter
- 1/2 cup + 1 Tablespoon all purpose flour
- 12 ounces (1 1/2 cups) evaporated milk*
- 3 1/2 cups milk*
- 1 Tablespoon hot pepper sauce*
- 2 teaspoons granulated garlic
- 1 teaspoon onion powder
- 1 teaspoon ground mustard
- 1 teaspoon salt, more to taste
- fresh cracked black pepper
- 8 ounces swiss cheese*
- 8 ounces mild or sharp cheddar cheese, shredded
- 4 ounces gruyere, shredded
- 16 – 20 ounces pasta for serving*
Instructions
- Melt Butter: Over medium heat, in a large pan, melt the butter.1 stick (1/2 cup) unsalted butter
- Add Flour: Whisk in the flour and cook for 1-2 minutes.1/2 cup + 1 Tablespoon all purpose flour
- Add Dairy: Add in evaporated milk and regular milk.12 ounces (1 1/2 cups) evaporated milk*, 3 1/2 cups milk*
- Dissolve Flour: Whisk until the flour dissolves.
- Add Spices & Hot Sauce: Add hot sauce, garlic, onion, mustard powder, salt, and pepper.1 Tablespoon hot pepper sauce*, 2 teaspoons granulated garlic, 1 teaspoon onion powder, 1 teaspoon ground mustard, 1 teaspoon salt,, fresh cracked black pepper
- Combine Spices: Whisk until spices are combined.
- Simmer Sauce: Continue stirring and simmering the sauce (not boiling) until it thickens enough to coat the back of a spoon (about 4 minutes). It will continue to thicken when you add the cheese.8 ounces swiss cheese*, 8 ounces mild or sharp cheddar cheese,, 4 ounces gruyere,, 16 – 20 ounces pasta
Notes
- Evaporated Milk: Evaporated milk has a richer flavor and less water than regular milk. I have not tested this recipe without it, but you should be able to replace it with half and half.
- Milk: Any type of milk will work. I have tried this recipe with both skim and 2% milk. I do not recommend non-dairy milk.
- Hot Pepper Sauce: This does not make the sauce spicy, it just adds flavor. I highly recommend it but it can be omitted.
- Cheese: You need 20 ounces (5 cups) of cheese for this recipe. Use your favorites. I prefer the combination of swiss, cheddar, and gruyere. You can also try parmesan cheese, colby jack, American, smoked gouda, sharp white cheddar, or pepper jack.
- Pasta: Depending on how cheesy you like your mac and cheese, you can adjust the amount of pasta. For baked mac and cheese with bread crumbs, I recommend 16 ounces, because it dries out in the oven. For stovetop, you can use up to 16-20 ounces. Save some pasta water to thin the sauce if needed.
- Grate Your Own Cheese: Pre-shredded cheese contains anti-caking agents that prevent smooth melting.
- Whisk Vigorously: This will ensure the roux is combined with the milk.
- Simmer, Don’t Boil: Boiling can cause the sauce to separate or get grainy. Keep it at a gentle simmer.
- Thin If Needed: If your sauce gets too thick, add a splash of warm milk to loosen it.
Nutrition
Nutrition information is automatically calculated, so should only be used as an approximation.














This mac and cheese is superb. The sauce is so creamy and the flavour it really fabulous. One of my new favourite macaroni and cheese recipes!
SO much better than buying the sauce. I’ll never buy it again, I’ll just make this one!
I always prefer homemade mac and cheese, but this was the BEST recipe I’ve ever tried! Thanks so much for sharing!
My whole family loved this mac n cheese! It was so delicious and easy to make. Definitely a keeper!
This is the creamiest sauce ever. I love the blend of cheeses, usually I only use one kind. A keeper!
This sauce is heavenly!!! I paired it with gluten free pasta and it was amazing!
Amazingly delicious recipe. The sauce is out of this world. My son is home from college and happy as he can be that I found your recipe. Thank you!
I wanted to make tuna Mac but didn’t have my usual box Velveeta Mac and cheese so I decided to try something new. This is the kind of recipe you want to have around year round. Easy to make, adjust to your needs, and all around DELICIOUS!!!
Yay!! So glad.
This cheese sauce is amazing!!! So delicious. I’m saving the recipe, and will never again make mac & cheese without it.
Awesome! Thank you so much.
This Mac and cheese sauce looks absolutely delicious