This homemade mac and cheese recipe combines tender elbow macaroni with a creamy cheese sauce made from butter, flour, milk, cheddar, and mozzarella. It is prepared on the stovetop without baking, making it a versatile comfort-food side dish or a satisfying main course.
Complete Homemade Mac and Cheese Recipe Card
Illustrative food reference, not a photograph of a kitchen-tested version of this recipe.
Testing status: This is an untested recipe proposal. The exact cheese blend, sauce thickness, and cooking times need kitchen verification before the recipe is described as tested.
Description: Classic stovetop macaroni and cheese with tender elbow pasta and a smooth, savory cheddar-mozzarella sauce.
- Estimated yield: 6 to 8 side-dish servings; not measured.
- Prep time: 10 minutes.
- Cook time: 20 to 25 minutes.
- Inactive time: None planned.
- Total time: Approximately 30 to 35 minutes.
- Equipment: One 5- to 6-quart pot for pasta, one 3-quart saucepan for cheese sauce, colander, whisk, wooden spoon, measuring cups and spoons, and a box grater.
Ingredients

For the macaroni
- 1 pound (16 ounces) dried elbow macaroni
- Water, as needed to cook the pasta
- 1 tablespoon salt for the pasta water
For the cheese sauce
- 4 tablespoons unsalted butter
- ¼ cup all-purpose flour
- 3 cups whole milk, preferably at room temperature or slightly warmed
- 3 cups freshly grated sharp cheddar cheese, divided into 2½ cups and ½ cup
- 1 cup freshly grated low-moisture mozzarella cheese
- ½ teaspoon garlic powder
- ½ teaspoon dry mustard powder
- ¼ teaspoon black pepper
- ¼ teaspoon salt, plus more if needed
Instructions
1. Boil the pasta water. Fill a large pot with enough water to cook the macaroni according to the package directions. Bring it to a boil, then add the tablespoon of salt.
2. Cook the macaroni. Add the elbow macaroni and stir. Cook according to the package instructions until tender but still slightly firm in the center. Drain in a colander. Do not rinse; the remaining surface starch can help the sauce cling to the pasta.
3. Melt the butter. While the pasta cooks, melt the butter in a 3-quart saucepan over medium heat.
4. Make the roux. Whisk the flour into the melted butter. Cook for 1 to 2 minutes, whisking continuously, until the mixture is smooth and lightly bubbling. Do not let it brown deeply.
5. Add the milk. Gradually whisk in the milk, adding it in small portions at first to prevent lumps. Continue whisking until the mixture is smooth. Cook over medium heat for about 4 to 6 minutes, stirring often, until the sauce thickens enough to lightly coat a spoon. Avoid a vigorous boil.
6. Season the sauce. Stir in the garlic powder, dry mustard powder, black pepper, and salt.
7. Melt the cheese. Reduce the heat to low and remove the saucepan from the burner briefly if the sauce is bubbling. Add the 2½ cups of cheddar and the mozzarella in small handfuls, stirring until each addition melts before adding more. Do not let the sauce boil after adding the cheese.
8. Combine the macaroni and sauce. Add the drained macaroni to the cheese sauce, stirring gently until the pasta is evenly coated. If the sauce seems too thick, add a small splash of warm milk and stir.
Recipe Notes
- Grate your own cheese: Pre-shredded cheese often contains anti-caking agents that can affect how smoothly it melts.
- Control the heat: High heat can make cheese sauce grainy or oily. Melt the cheese gently over low heat.
- Adjust the consistency: The sauce thickens as it cools. Add warm milk gradually if needed.
- Salt carefully: Cheddar cheese and pasta water both contribute salt, so taste the finished dish before adding more.
- No oven is required: This is a stovetop recipe, not a baked macaroni and cheese casserole.
Ingredient Notes and Substitutions
Sharp cheddar cheese
Sharp cheddar gives macaroni and cheese its familiar savory cheese flavor. Freshly grating it helps it melt more evenly into the sauce.
Possible substitution: Mild cheddar can replace sharp cheddar by volume, although the cheese flavor will be less pronounced. The result has not been tested with this exact formula.
Low-moisture mozzarella
Mozzarella contributes a stretchy texture when melted. Low-moisture mozzarella is used here rather than fresh mozzarella, which contains more moisture and could change the sauce consistency.
Possible substitution: You can use additional cheddar instead, but the sauce will have less of the stretchy texture associated with mozzarella.
Whole milk
Whole milk gives the sauce body and helps create a smooth, creamy consistency. Lower-fat milk may produce a thinner sauce, so its use would require checking the consistency before adding all the cheese.
All-purpose flour and butter
These ingredients form a roux, a cooked mixture of fat and flour used to thicken sauces. The flour should be whisked into the butter before adding milk to help prevent lumps.
A gluten-free flour blend is not a verified one-to-one substitution for this recipe. Its thickening performance would need separate testing.
Before You Begin

Grate the cheese first
Grate the cheddar and mozzarella before starting the sauce. Once the milk thickens, you will need to stir regularly and add the cheese promptly.
Prepare the pasta and sauce timing
The pasta and cheese sauce can be prepared simultaneously if you are comfortable managing two pots. If not, cook and drain the pasta first, then prepare the sauce. The pasta may cool slightly while you make the sauce, but it should not be left sitting for an extended period.
Choose the right cheese
For this version, use block cheese that you grate yourself. Different cheeses melt differently, so avoid substituting a large amount of an unfamiliar cheese without checking the sauce texture.
How to Make Homemade Mac and Cheese Successfully

1. Cook the pasta just until tender
Elbow macaroni should hold its shape and have a little structure when bitten. Overcooked pasta can become soft and break apart when stirred into the sauce.
2. Build a smooth sauce base
The butter-and-flour mixture thickens the milk as it heats. Adding milk gradually and whisking well helps prevent flour lumps and creates an even base for the cheese.
3. Add cheese over low heat
Cheese contains proteins and fat that can separate when exposed to excessive heat. Lowering the temperature before adding the cheese helps the sauce remain smooth. If it becomes very hot or begins bubbling vigorously, remove it from the burner before continuing.
4. Combine while the sauce is warm
Stir the drained macaroni into the cheese sauce while both are warm. The sauce should coat the pasta evenly rather than pool at the bottom of the pan. If it thickens too much, a little warm milk can help loosen it.
Tips and Troubleshooting
| Problem | Likely cause | What to do |
| The cheese sauce is grainy | The cheese became too hot or melted unevenly. | Remove the pan from the heat and stir gently. Avoid boiling the sauce after adding cheese. A fully separated sauce may not return to a perfectly smooth texture. |
| The sauce is too thick | The flour thickened the milk more than expected, or the sauce cooled. | Stir in warm milk a little at a time until the sauce coats the macaroni comfortably. |
| The sauce is too thin | The milk mixture has not thickened enough before the cheese is added. | Return the sauce base to gentle heat before adding cheese and cook until it lightly coats a spoon. Once the cheese is added, avoid prolonged boiling. |
| The pasta is mushy | The macaroni cooked too long or continued softening in hot sauce. | Cook the pasta to just tender and combine it with the sauce promptly. Mushy pasta cannot be restored to its original texture. |
| The sauce tastes bland | The cheese is mild or the seasoning is insufficient. | Taste before serving and adjust salt and pepper gradually. A small additional amount of mustard powder can be considered, but its effect should be checked before adding much. |
| The sauce is oily | The cheese may have separated under excessive heat. | Remove the pan from the heat and stir gently. Avoid adding more cheese or turning the heat higher. Full recovery is not guaranteed. |
Variations and Alternative Methods
These variations are proposals, not kitchen-tested versions of the base recipe.
Baked homemade mac and cheese
For a baked version, the pasta, sauce, topping, oven temperature, and baking time would need to be developed as a separate recipe. The stovetop formula above has not been verified for baking, and baking it without changing the method could produce dry pasta or a separated sauce.
Mac and cheese with a crunchy topping
A breadcrumb topping can provide a contrast to the soft pasta. A suitable quantity, butter allocation, oven setting, baking time, and dish size have not been verified for this recipe. Treat this as a separate adaptation requiring kitchen testing.
Mac and cheese with vegetables
Steamed broccoli or cooked peas could be stirred into the finished macaroni. Their moisture content may change the sauce consistency. Add fully cooked vegetables immediately before serving and adjust the sauce with warm milk if necessary. This addition is untested.
Scaling the recipe
The ingredient quantities can be multiplied arithmetically, but a larger batch needs enough pot capacity to stir the macaroni and sauce without overflowing. Do not automatically multiply cooking time. Verify pasta tenderness, sauce thickness, and cheese melting for the larger batch.
Serving Suggestions
Serve homemade mac and cheese as a side dish or as a main course with a vegetable.
- Roasted broccoli: Adds a browned, savory vegetable alongside the creamy pasta.
- Green salad: Provides a fresh, crisp contrast.
- Roasted chicken: Turns the macaroni into part of a more substantial meal.
- Steamed peas: Add a mild, slightly sweet vegetable element.
- Tomato salad: Brings acidity and freshness to balance the richness of the cheese sauce.
Make-Ahead, Storage, Freezing, and Reheating
Make-ahead preparation
You can grate the cheese and measure the dry ingredients ahead of time. For the best sauce texture, prepare the cheese sauce and pasta close to serving time.
The sauce thickens as it cools, so freshly prepared macaroni and cheese generally needs less adjustment than a refrigerated portion.
Refrigerating leftovers
- Refrigerate leftovers within 2 hours of cooking, or within 1 hour if the surrounding temperature is above 90°F.
- Divide large amounts into shallow containers so they cool faster.
- Keep the refrigerator at 40°F or below.
- Use refrigerated leftovers within 3 to 4 days.
Freezing
Macaroni and cheese can be frozen, although the sauce may become less smooth and the pasta softer after thawing. Freeze portions in airtight, freezer-safe containers and label them with the date.
For best quality, USDA guidance recommends using frozen leftovers within approximately 3 to 4 months.
Reheating
- Place a portion in a saucepan over low to medium-low heat.
- Add a small splash of milk and stir gently.
- Cover between stirring intervals to help retain moisture.
- Heat until the entire portion reaches 165°F, checking with a food thermometer.
You can also reheat it in a microwave-safe dish. Cover loosely, stir during heating, and check the temperature in multiple places. Add milk gradually to help restore a creamy consistency.
FAQs
What is the best cheese for homemade mac and cheese?
Sharp cheddar is a good choice for a pronounced cheese flavor. This recipe combines it with low-moisture mozzarella for a different melted texture. Other cheeses can work, but each may change the flavor, consistency, and melting behavior.
Why is my homemade mac and cheese not creamy?
The sauce may have become too thick, or the cheese may have separated from excessive heat. Add warm milk gradually if the sauce is too thick, and keep the heat low when melting the cheese.
Can I make homemade mac and cheese without flour?
Yes, but removing the flour changes the recipe’s thickening method. This formula has not been verified without flour, so a flour-free version needs its own tested quantities and method.
Can I use pre-shredded cheese?
You can try it, but pre-shredded cheese may not melt as smoothly as freshly grated cheese. For this recipe proposal, freshly grated cheese is the preferred starting point.
How do I keep mac and cheese creamy after reheating?
Add a small amount of milk, stir gently, and reheat gradually. Bring the entire portion to 165°F for food safety. The sauce may not regain exactly the same texture as when freshly prepared.
Final Summary
This homemade mac and cheese recipe features elbow macaroni coated in a creamy stovetop cheese sauce made with butter, all-purpose flour, whole milk, sharp cheddar, and low-moisture mozzarella.
Garlic powder, dry mustard, black pepper, and salt provide additional seasoning. The result is intended to be a rich, savory pasta dish without the need for an oven or a breadcrumb topping.

Leo Campbell is the founder, recipe developer, and culinary voice behind Recipe Morsil. With nearly a decade of hands-on home cooking and professional baking experience, Leo tests every recipe multiple times to ensure reliable, fail-proof results in real home kitchens. When he’s not fine-tuning spices or testing cook times, he’s helping home cooks build confidence one bite at a time.
Connect with Leo via [Instagram/Email] or explore his verified recipes below.
