​​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!

Save this recipe!
Just enter your email and get it sent to your inbox! Plus you’ll get new recipes from us every week!
Mac and cheese sauce tossed with pasta in a white pot.

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!

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

Ingredients needed to make cheese sauce for mac and cheese.
  • 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

A 4 photo collage showing how to make the roux and bechamel sauce.

Cook the roux for 1-2 minutes to remove the raw flour taste.

  1. Melt Butter: Over medium heat, in a large pan, melt the butter.
  2. Add Flour: Whisk in the flour and cook for 1-2 minutes.
  3. Add Dairy: Add in evaporated milk and regular milk.
  4. Dissolve Flour: Whisk until the flour dissolves.
A 4 photo collage showing seasoning the sauce and adding cheese.

The sauce should just be thick enough to coat the back of a spoon.

  1. Add Spices & Hot Sauce: Add hot sauce, garlic, onion, mustard powder, salt, and pepper.
  2. Combine Spices: Whisk until spices are combined.
  3. 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.
  4. Add Swiss Cheese: Stir in the swiss cheese until melted.
A 4 photo collage showing added pasta to cheese sauce.

Be sure to not overheat the cheese homemade mac and cheese sauce.

  1. Add Cheddar & Gruyere Cheese: Add the cheddar and gruyere.
  2. Stir: Stir until melted. The sauce should be smooth.
  3. Add Pasta: Add the cooked pasta to the sauce.
  4. 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:

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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).
Mac and cheese on a spoon.

Recipe FAQs

What is mac and cheese sauce made of?

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.

How do you make homemade mac and cheese creamy?

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. 

What is the best cheese for mac and cheese?

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. 

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

5 from 303 votes
​​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!
Prep Time: 10 minutes
Cook Time: 15 minutes
Total Time: 25 minutes
Servings: 16 people

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
Did you make this recipe? Leave a comment below!

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.
Save this recipe!
Get this sent to your inbox, plus get new recipes from us every week!

Nutrition

Calories: 294kcal | Carbohydrates: 13g | Protein: 14g | Fat: 21g | Saturated Fat: 12g | Polyunsaturated Fat: 1g | Monounsaturated Fat: 5g | Trans Fat: 0.2g | Cholesterol: 63mg | Sodium: 515mg | Fiber: 1g | Sugar: 6g

Nutrition information is automatically calculated, so should only be used as an approximation.

You May Also Like

5 from 303 votes (287 ratings without comment)

Leave a comment

Your email address will not be published. Required fields are marked *

Recipe Rating




23 Comments

  1. Kim says:

    5 stars
    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!

  2. Elizabeth says:

    5 stars
    SO much better than buying the sauce. I’ll never buy it again, I’ll just make this one!

  3. Jessica says:

    5 stars
    I always prefer homemade mac and cheese, but this was the BEST recipe I’ve ever tried! Thanks so much for sharing!

  4. Tina says:

    5 stars
    My whole family loved this mac n cheese! It was so delicious and easy to make. Definitely a keeper!

  5. DJ says:

    5 stars
    This is the creamiest sauce ever. I love the blend of cheeses, usually I only use one kind. A keeper!

  6. Nicole says:

    5 stars
    This sauce is heavenly!!! I paired it with gluten free pasta and it was amazing!

  7. Giangi Townsend says:

    5 stars
    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!

  8. Danielle says:

    5 stars
    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!!!

    1. Brianna May says:

      Yay!! So glad.

  9. Beverly says:

    5 stars
    This cheese sauce is amazing!!! So delicious. I’m saving the recipe, and will never again make mac & cheese without it.

    1. Brianna May says:

      Awesome! Thank you so much.

  10. Maren says:

    5 stars
    This Mac and cheese sauce looks absolutely delicious