My favorite one-pot stovetop mac and cheese recipe is easy to make in 30 minutes with just 6 main ingredients and always tastes perfectly creamy, cheesy and so comforting.

I’m a firm believer that everyone needs an excellent stovetop mac and cheese recipe in their back pocket. But I have to say I’m especially partial to this one because — as someone who eagerly avoids washing extra dishes at all costs — it comes together quickly and easily in just one pot! ♡
I’ve made plenty of mac and cheese recipes over the years that cook the cheese sauce separately in an additional saucepan. But the brilliance of the one-pot method is that you get the added bonus of super-concentrated starchy pasta water to work with, since you only use about half the amount of liquid typically used to cook pasta. This does wonders with helping the shredded cheese to melt and emulsify and cling to the pasta, creating an ultra-silky, creamy, cheese sauce. And even better? It all comes together in less than 30 minutes!
We’re “plain” mac and cheese fans here in our house, usually opting to serve this pasta with some roasted veggies and a simple green salad on the side. But of course, the options for stirring any of your favorite add-ins (proteins, veggies, herbs, seasonings, sauces, etc) right into the pot of mac and cheese here are limitless. I’ve included lots of ideas and tips below, so please feel free to take this base recipe and customize it exactly to your liking. And enjoy, enjoy!
Let’s make some macaroni and cheese!!

Macaroni and Cheese Ingredients
Before we get to the full mac and cheese recipe below, here are a few important notes about the ingredients you will need. (This recipe was updated slightly in 2022, but for those of you looking for the original ingredient amounts, they are included in the notes below the recipe.)
- Pasta: The shape of pasta that you choose here is important, since cooking times can vary pretty widely between different pasta shapes (which will also affect the amount of liquid that they each soak up). I developed this recipe using cavatappi, which has a nice, chewy bite and lists an approximately 8-minute cooking time on its package. If you decide to use a different pasta shape, try to find one whose package lists a similar cooking time. (Or if the cooking time varies significantly, just note that you may need to use more or less water while cooking.)
- Milk + water: I recommend using whole milk with this recipe, but just about any plain milk (dairy or plant-based) will work here.
- Dijon mustard: A teaspoon of mustard helps to bring out the flavor of the cheddar in this recipe, without making the pasta taste noticeably mustardy. (Although you are welcome to add more mustard if you love that flavor!)
- Fine sea salt and black pepper: We will cook the pasta in a teaspoon of fine sea salt. But since different brands of cheddar can vary pretty in terms of saltiness, I recommend giving the pasta a final taste after mixing in the cheese to see if it needs extra salt. I also love adding a generous amount of black pepper to mac and cheese, but feel free to add your desired amount to taste.
- Garlic powder: I also like to add a hint of garlic powder to the mix for extra depth of flavor.
- Sharp cheddar cheese: I really recommend using a good-quality sharp or extra-sharp cheddar (either yellow or white) since it provides the main seasoning in this dish! As always when making homemade mac and cheese, be sure to shred the cheddar by hand too, so that it melts well.
- Parmesan cheese: Aged Parmesan cheese also adds some deliciously salty, nutty, umami flavor to this dish and helps to bring out the best of the cheddar. Please be sure to freshly-grate the Parmesan too!

Homemade Mac and Cheese Tips
Here are a few of my best tips I’ve learned over the years for making one-pot mac and cheese:
- The pasta shape you choose makes a big difference. The biggest complaint I hear about one-pot mac and cheese recipes is that the pasta-to-liquid ratios don’t turn out quite right, usually resulting in an overly “soupy” cheese sauce. This is usually due to using a pasta shape that cooks very quickly, leaving behind extra water in the pot that has not been properly soaked up. As mentioned above, I recommend avoiding this by using a pasta shape that lists an 8-minute cooking time, in order to properly blend with the liquid and cheese ratios in this recipe. Or if not, you’re welcome to use whatever pasta shape you like, then just double-check that you only have about 1/2 cup of starchy pasta water remaining in the pot (discarding any extra) before mixing in the cheese.
- Don’t overcook the pasta. Since the pasta will continue to cook a bit more in the pot while you are stirring in the cheese, it’s essential that you only boil the pasta until it is *just* shy of al dente so that it will not be overcooked in the end. If you keep a close eye on the pasta and give it a taste test or two near the end of its cooking time, you’ll be good to go!
- Always shred the cheese by hand. Store-bought shredded cheeses are coated with an anti-clumping mixture that prevents them from melting well into a smooth sauce. So anytime you’re making mac and cheese, I recommend purchasing blocks of cheese and shredding them by hand.
- Don’t forget to season. Cheese brands can vary pretty dramatically in terms of their saltiness, so don’t forget to give the pasta one final taste test after mixing in the cheese and season it with a final round of salt and pepper if needed.

Potential Recipe Variations
This mac and cheese recipe is designed to be a base recipe that you can add to and customize however you’d like, so don’t hesitate to experiment and have fun with it! For example, feel free to…
- Use more cheese: My original version of this recipe called for 4 cups (instead of 2 cups) of cheddar, which is of course extra cheesy and delicious! I prefer the lighter version, which I still find to be plenty cheesy, but feel free to use however much cheese you prefer.
- Use half and half: If you want an even creamier mac and cheese, you’re welcome to sub in half and half in place of milk.
- Use a different blend of cheeses: Other cheeses that can work well in place of (or mixed with) cheddar could include fontina, gouda, gruyere, havarti, Monterrey Jack, or pepperjack cheese.
- Add a protein: Chicken, beef, pork, bacon (or guanciale, pancetta, prosciutto, etc), sausage, shrimp, salmon, scallops, or plant-based “meats” would all be delicious options.
- Add veggies or greens: Asparagus, bell peppers, broccoli, Brussels sprouts, fennel, green beans, kale, mushrooms, onions, spinach, sweet potatoes, tomatoes, zucchini or other pasta-friendly veggies would be great.
- Add extra seasonings: There are endless ways that you could play around with the seasonings in this macaroni and cheese recipe. You could add in some additional fresh or dried herbs (such as basil, chives, oregano, rosemary, sage, thyme, etc), other seasonings that you enjoy (such Cajun seasoning, herbs de Provence, za’atar, etc), lemon juice, or additional sauces (such as basil pesto, Mexican salsa verde, pumpkin purée, etc). Just be sure to thoughtfully add seasonings that will pair well with whatever cheese blend that you use.

More Mac and Cheese Recipes
Looking for more cozy homemade macaroni and cheese recipes to try? Here are a few of our faves:
- Cacio e Pepe
- Instant Pot Mac and Cheese
- Roasted Cauliflower Mac and Cheese
- Butternut Squash Mac and Cheese
Stovetop Mac and Cheese

Ingredients
- 1 pound uncooked pasta (I used cavatappi*)
- 3 cups water
- 2 cups milk
- 1 teaspoon Dijon mustard
- 1 teaspoon fine sea salt
- 1 teaspoon garlic powder
- 2 to 4 cups (8 to 16 ounces) freshly-grated sharp cheddar cheese (see note below)
- 1 cup (1 ounce) finely-grated Parmesan cheese
- freshly-ground black pepper, to taste
Instructions
- Cook the pasta. Combine the pasta, water, milk, Dijon, sea salt and garlic powder in a large stockpot. Heat over medium-high heat, stirring the pasta once every few minutes, until the water reaches a boil. Adjust heat as needed to maintain a rolling boil. Continue cooking the pasta, stirring once or twice per minute, until the pasta is *just* barely al dente. (Cooking time will depend on the shape of pasta that you use, so please keep a close eye on it.) Remove pot from heat.
- Remove excess water (if needed). Check to see how much starchy pasta water remains in the pot. If it seems that there is more than 1/2 cup or so, dip a heatproof measuring cup in to remove and save the excess water, then set it to the side. (If by chance there is no starchy pasta water left, please add 1/2 cup hot water to the pot.)
- Add cheese. Add the cheese to the pasta and gently stir until completely melted. If the pasta seems too dry, stir some of the reserved starchy pasta water back in as needed.
- Season. Taste and season with additional salt if needed.
- Serve. Serve warm, garnished with a few twists of black pepper and enjoy!




I followed the recipe exactly and it look great. However, it didn’t have much flavor and my cheese sauce had a fine grainy texture. Has anyone else had this problem?
I didn’t experience it with this recipe, but usually the grainy texture comes from boiling the milk & adding the cheese while the mixture is still too hot. You should take your pot off heat when you add in the cheese, & the water/milk should only ever simmer, no bubbles breaking on top. Good luck
Creamy, quick, and easy. Winning combination.
Good flavor! Makes a LOT of soupy cheese sauce. Prepared recipe with a pound of my gluten free rotini pasta & able to scoop out enough cheese sauce for a half pound of regular elbow pasta for husband as well! Will use less water next time. Added in cooked green peas when recipe was finished for some color & texture!
Fast, easy & awesome! Turned out perfect!
This was fantastic! I’ve tried a couple Mac n cheese recipes and this is by far the easiest and most tasty. I was looking for a one pot recipe be causing time. I used the cheese I had on hand which was medium cheddar and pepper jack . The only thing I added was a small amount of paprika, fresh garlic and about 3 tbls of cream cheese. Really fabulous. This will be my go to recipe from now on!
I cut the recipe in half because I’m only cooking for myself. I tweak it a bit, adding minced garlic instead of garlic powder, and some Old Bay instead of the salt. I prefer whole wheat pasta, and have no issues with the elbows when cooking them to al dente. Lastly, I added some leftover brisket for some awesome brisket Mac and cheese. Great one pot recipe.
Very flavorful
Taste great but too soupy. I recommend using half the fluid.
It was good. Might let the mixture come to a simmer before adding pasta next time, especially with a faster cooking pasta, but the flavors were great!
I tried it , it was a little different from my normal mac and but it wasn’t bad