Macaroni and Cheese Recipe From Scratch: Ultra Creamy Three-Cheese Indulgence

Macaroni and Cheese Recipe From Scratch: Ultra Creamy Three-Cheese Indulgence

Homemade mac and cheese from scratch transforms a simple dish into something extraordinary. I developed this method after years of testing, learning that the secret lies in a proper roux and careful cheese selection.

This recipe delivers on its creamy promise by combining three cheeses for depth of flavor, while a precise cooking technique ensures a velvety sauce that coats every noodle perfectly. The pasta is cooked al dente to maintain texture against the rich sauce.

The result is a dish that’s rich without being heavy, with a sauce so smooth it clings to the elbow macaroni. Each bite offers the comfort of melted cheese and the satisfaction of a meal made with care.

Perfect for family dinners or when you need a taste of home. Here’s how to make it right.

👨‍🍳
Difficulty
Medium
🌿
Diet
Vegetarian
⏱️
Total Time
30 min
🔥
Calories
High Cal

Ingredients for Macaroni and Cheese Recipe from Scratch

A proper roux and three cheeses create that ultra creamy texture you crave.

Ingredient Amount Notes
Elbow Macaroni 🍝 12 oz Al dente for texture contrast
Unsalted Butter 🧈 ½ cup For rich, creamy roux
All-Purpose Flour 🌾 ⅓ cup Thickens the cheese sauce
Whole Milk 🥛 3 cups Full-fat for creaminess
Sharp Cheddar Cheese 🧀 2 cups Shredded from block
Gruyère Cheese 🧀 1 cup Shredded, nutty flavor
Parmesan Cheese 🧀 ½ cup Freshly grated preferred
Dijon Mustard 🟡 1 tbsp Adds tangy depth
Garlic Powder 🧄 ½ tsp Enhances savory notes
Onion Powder 🧅 ½ tsp Balances cheese richness
Salt 🧂 1 tsp Adjust to taste
Ground Black Pepper 🌶️ ¼ tsp Freshly ground preferred
Ground Nutmeg 🌰 0.125 tsp Pinch for warmth

[recipe_ingredient_scaler]

The cheese quality is non-negotiable here. Sharp cheddar from a block melts smoothly—pre-shredded contains anti-caking agents that make the sauce grainy. Gruyère adds depth, while Parmesan brings umami. Most grocery stores carry all three; Whole Foods has excellent selections if you want to splurge. Freshly grate the Parm yourself for the best melt and flavor.

No Gruyère? Fontina or Monterey Jack work well as substitutes. For a stronger flavor, try aged Gouda. The milk needs to be whole fat—low-fat versions won’t give you that velvety consistency. If you’re out of Dijon, yellow mustard at half the amount can work in a pinch, but the flavor won’t be as complex. The nutmeg is subtle but worth it.

This reheats best with a splash of milk to loosen the sauce. Keeps 4-5 days in the fridge, freezes for 3 months. Store cheese in the coldest part of your fridge, wrapped tightly in parchment paper to prevent drying.

❤️

Why You’ll Love This Recipe

  • One Pot Wonder: I love that this comes together in a single saucepan—no colander, no extra bowls, just melt, whisk, and stir.
  • Sharp Cheddar Magic: That tangy bite from the sharp cheddar makes every forkful taste like it came from a gourmet kitchen.
  • Feeds the Crowd: Honestly, it’s my go-to for potlucks, lazy Sundays, or when the kids have friends over for dinner.
  • Budget Stretch: A pound of pasta and a block of cheese feed my family for two nights without breaking the bank.

Step-by-Step Instructions for Macaroni and Cheese From Scratch

Master the technique for silky sauce and perfect texture with this proven approach.

Step 1: Cook the Elbow Macaroni Al Dente

Bring a large pot of salted water to a rolling boil over high heat. Add the 12 oz Elbow Macaroni and cook for 7-8 minutes, stirring occasionally, until the pasta is just slightly firm to the bite.

Drain immediately in a colander and rinse briefly with cool water to stop the cooking process. This prevents the pasta from becoming mushy when combined with the cheese sauce later. Shake off excess water but don’t dry completely—the slight moisture helps the sauce cling.

Step 2: Create a Smooth Roux Base

In a large saucepan, melt the 0.5 cup Unsalted Butter over medium heat until it begins to foam but doesn’t brown. Add the 0.33 cup All-Purpose Flour all at once and whisk constantly for 2-3 minutes until the mixture turns a light golden color and has a nutty aroma.

This roux is the foundation of your cheese sauce. Cooking it properly removes the raw flour taste and develops depth of flavor. The mixture should be smooth and bubbly, thick enough to coat the back of a spoon. Don’t let it darken beyond pale gold or it will overpower the cheese flavors.

Step 3: Build the Creamy Cheese Sauce

Gradually whisk in the 3 cups Whole Milk, 1 cup at a time, ensuring each addition is fully incorporated before adding more. Bring to a gentle simmer, then reduce heat to medium-low. Cook for 3-4 minutes until the sauce thickens enough to coat the back of a spoon.

Remove from heat and stir in the 1 tbsp Dijon Mustard, 0.5 tsp Garlic Powder, 0.5 tsp Onion Powder, 1 tsp Salt, 0.25 tsp Ground Black Pepper, and 0.125 tsp Ground Nutmeg. Then add the 2 cups Sharp Cheddar Cheese, 1 cup Gruyère Cheese, and 0.5 cup Parmesan Cheese in batches, stirring until each addition is completely melted and smooth before adding more.

Step 4: Combine and Finish for Optimal Creaminess

Add the cooked elbow macaroni to the cheese sauce and stir gently to combine. If the sauce seems too thick, add a splash of warm milk to reach your desired consistency. The pasta should be fully coated with a velvety, glossy sauce that clings to each piece.

Let the mixture sit for 2-3 minutes off heat to allow the pasta to absorb some of the sauce. This final rest ensures the flavors meld completely. Serve immediately while hot and creamy, or transfer to a baking dish for a crispy top under the broiler if desired.

👨‍🍳

Pro Tips For Making Macaroni And Cheese Recipe From Scratch

  • Cook Pasta Al Dente: Boil the elbow macaroni for 1-2 minutes less than the package says—I learned this the hard way after ending up with mushy noodles in my first few batches.
  • Grate Your Own: Skip pre-shredded cheese; it’s coated in anti-caking agents that make your sauce grainy. Sharp cheddar grated fresh melts smoothly every time.
  • Temper the Milk: Warm the whole milk before adding it to the roux—cold milk can cause the sauce to seize up. About 30 seconds in the microwave does the trick.
  • Add Cheese Off Heat: Remove the pot from the burner before stirring in the cheddar. High heat can make the cheese stringy or oily, and nobody wants that.

Flavor Customization for These Flavors

Spice It Up

Add ½ tsp cayenne pepper or 1 tsp smoked paprika to the roux for a subtle kick. I love how the warmth cuts through the richness without overpowering the cheese flavors. A pinch goes a long way with sharp cheddar. 🌶️

Herb Infusion

Stir in 1 tbsp fresh thyme leaves or 1 tsp dried mustard with the seasonings. Thyme adds an earthy note that pairs beautifully with Gruyère. My grandmother always used a sprig of fresh rosemary for special occasions.

Protein Boost

Fold in 1 cup cooked bacon crumbles or 1 cup diced ham at the end. The salty crunch contrasts perfectly with the creamy pasta. I often use leftover rotisserie chicken from the neighborhood grocery store for a quick addition.

Veggie Addition

Mix in 1 cup steamed broccoli florets or ½ cup sautéed mushrooms for texture and color. The broccoli stays vibrant if blanched first. I always keep frozen peas on hand for a fast, kid-friendly version.

Crunchy Topping

Transfer to a baking dish, top with ½ cup panko breadcrumbs mixed with 2 tbsp melted butter, and broil for 2-3 minutes. The golden crust adds delightful contrast. My family fights over the crispy edges.

Luxury Upgrade

Swap 1 cup of cheddar for Gouda or add ¼ cup cream cheese for extra tang. Aged cheeses develop more complex flavors. I splurge on Whole Foods cheeses for special dinners.

Nutrition Facts

Servings 4
Amount Per Serving
Calories 820kcal
% Daily Value
Total Fat 48g62%
Saturated Fat 28g140%
Cholesterol 145mg48%
Sodium 980mg43%
Total Carbohydrate 60g22%
Dietary Fiber 3g11%
Sugars 6g
Protein 34g68%
Percent Daily Values are based on a 2,000 calorie diet. Your daily values may be higher or lower depending on your calorie needs.

Frequently Asked Questions

1

Can I use pre-shredded cheese?

I don’t recommend it. Pre-shredded contains anti-caking agents that prevent smooth melting. For the creamiest texture, always shred block cheese yourself just before using.

2

How do I prevent a grainy sauce?

Keep heat at medium-low when melting cheese and stir constantly. Adding cheese gradually in small batches also helps maintain that silky consistency.

3

What if my sauce is too thick?

Stir in warm milk, 1 tablespoon at a time, until it reaches your desired consistency. The pasta will absorb some sauce as it sits.

4

Can I make this ahead?

Yes! Store in an airtight container for up to 4-5 days. Reheat gently with a splash of milk to restore creaminess.

★★★★★5.0(3 reviews)
Chef Melanie

More recipe sites