This high protein mac and cheese recipe is ultra creamy and smooth, and you will not believe it packs 30 grams of protein into each serving. Entirely vegetarian and made with a blend of flavorful cheeses, it also features 8 grams of fiber per serving.
This mac and cheese could have been posted months ago if not for my mad scientist-esque recipe testing process. Is it really possible to make a macaroni and cheese that's creamy, big on flavor, high on protein and fiber, and totally vegetarian? All while using basic supermarket ingredients, with pasta that doesn't mush up and fall apart?
After six (seven?) tests, I can confidently say YES.
I tweaked this recipe along the following lines to land on this creamy dreamy protein mac and cheese recipe:
- Roux vs. no roux
- Broccoli vs. no broccoli
- Roasting broccoli vs. steaming broccoli
- Varying ratios of cottage cheese to milk
- Testing out ALL of the cheeses
What results is a more nutritious mac and cheese recipe that features fork-tender pasta, a boldly flavored cheese sauce, vegetables, and plenty of staying power to act as a filling meal. Truly better-for-you comfort food, all without sacrificing taste.
- Pasta: A high-protein variety is key in bumping the protein and fiber. I like to use Banza (not sponsored) which is made from chickpeas, but there are several other brands that make equivalent products.
- Cheese: Many kinds work here, but I recommend using a blend for the best flavor. Here I use sharp cheddar cheese for that classic tang, sharp provolone for a punchy flavor, and smoked gouda to add a little complexity.
- Cottage Cheese: This is big in adding sauce thickness and lots of protein. Either small or large curd size is fine since it's being blended. There are no curds in the sauce - you'll never know it's there!
- Milk: Any kind will do, I usually use 2%.
- Flour/Butter: These combine to form a roux, which helps thicken up the cheese sauce.
- Dijon Mustard: This emulsifies to help hold the sauce together and provides a bit of background flavor. Pictured is a stone-ground Dijon variety.
- Spices: Dried garlic and onion powders provide support flavor but don't overwhelm.
- Broccoli: This gives the nutrition a boost and tastes quite delicious coated in this sauce. This recipe has several moving parts, so I like the convenience of a steam-in-bag variety. Leftover roasted broccoli can also be used.
This recipe has three main parts: cooking the broccoli, preparing and heating the sauce, and boiling the pasta. Start by bringing a pot of water to boil to cook the pasta. Try to time the pasta being ready to around the time the sauce will thicken, but if it's done before, simply set it aside and give it periodic stirs until it's time to use.
- Steam the broccoli. I like to get this out of the way first. Cook a 14-ounce (or thereabouts) package of steam-in-bag broccoli in the microwave according to the package directions. Once it's cool enough to handle, pour the broccoli out onto a plate and break up any large florets so they're bite-sized.
- Blend the sauce. Add the milk, cottage cheese, Dijon, garlic powder, onion powder, pepper, and kosher salt to a blender. Blend well until smooth. Keep the sauce in the blender for now and set aside.
- Start the roux. Melt the butter in a large pan set over medium-low heat. Sprinkle in the flour and cook for 2-3 minutes or until golden in color. Move it around the pan frequently with a spoon or spatula so it doesn't burn.
- Thicken the sauce. Give the milk/cottage cheese mixture one more quick blitz in the food processor, then pour it into the pan with the roux. Stir well as it heats and thickens over the next 8-10 minutes.
- Add the cheese. Remove the pan from the heat and slowly scatter in the grated cheese while whisking. Continue until smooth.
- Combine. Pour the cheese sauce in the pot of drained pasta and add the cooked broccoli florets. Stir well and serve right away.
Recipe Tips and Tricks
- Mise en place. This recipe moves quickly once it begins with a few time-sensitive steps (for instance, you don't want the sauce to overly thicken or cool down while you rush to grate the cheeses). Prep your ingredients before starting to cook so you have everything ready right when you need it.
- Grate finely. Finely-grated cheese melts more quickly and is less likely to clump.
- Ensure a smooth sauce. Take the pan off of the heat (don't just turn off the burner) when adding the cheese to prevent overcooking. Overheating can cause the cheese/sauce to separate, leading to an unpleasant grainy texture.
- Prevent scratching. Using a silicone-coated whisk to prevent scratching the pan.
- Drain broccoli. Line the broccoli plate with a paper towel to absorb excess moisture.
- Don't oil the pasta. If your pasta has been cooked and drained before the sauce is ready, don't toss it with oil to prevent it from sticking together. While helpful with some recipes, coating it with oil will prevent the protein mac and cheese sauce from sticking to it and coating it well later on.
Using a high protein pasta, swapping in protein-rich cottage cheese for a portion of the milk, and adding broccoli all boost the protein in this mac and cheese. A Mayo Clinic article lists a broad recommendation of consuming 15-30 grams of protein per meal, which would make this estimated 30 grams of protein per serving recipe to be on the high end of the range.
Cheddar, sharp provolone, and smoked gouda are a great combo for this high protein mac and cheese, though you can use extra of the others and leave out the gouda if you don't have it. Other cheeses that can be subbed in are Fontina, Gruyère, havarti, pepper jack, and Parmesan/Pecorino Romano.
Add leftover protein mac and cheese to a small sauce pan and set it on the stove over low heat. Cover the pan, stirring occasionally, until sufficiently heated throughout. The sauce here is generous so you'll likely be fine, but if you'd like it creamier, add a small drizzle of milk as it heats.
If you’ve enjoyed this recipe, I’d love for you to leave a star rating in the recipe card and/or a comment review below!
High Protein Mac and Cheese
- 14 ounces steam-in-bag broccoli florets
- 8 ounces high-protein pasta such as Banza elbows or cavatappi
- 1 ½ cups 2% milk or your preferred variety
- 1 ¼ cups 4% cottage cheese small or large curd fine
- 1 Tablespoon Dijon mustard
- ¾ teaspoon garlic powder
- ¼ teaspoon onion powder
- ¼ teaspoon ground white pepper or ⅛ teaspoon black pepper
- Pinch of kosher salt or to taste
- 2 Tablespoons unsalted butter
- 2 Tablespoons all-purpose flour
- 3 ounces (86g) sharp cheddar finely-shredded, roughly 1 ¼ cup
- 3 ounces (86g) sharp provolone finely-shredded, roughly 1 ⅔ cup
- 1 ounce (27g) smoked gouda finely-shredded, roughly ½ cup
- Finely shred the cheeses so they're prepped and ready to go later as that step is time-sensitive.
- Steam the broccoli according to the package directions. Once cool enough to safely handle, remove cooked broccoli from the bag, blot it dry, and roughly chop the florets into bite-sized pieces. Place on paper-towel lined plate and set aside for now.
- Set up a large pot of water on the stove to boil. Once boiling, salt it generously and then stir in your pasta. Cook for the lowest time listed in the range according to the package directions, stirring frequently (for Banza elbows this is 7 minutes). Drain, add the pasta back to the pot, then set aside if the sauce isn't ready yet once it's done. Meanwhile, once you set up the water, start preparing the sauce.
- Add milk, cottage cheese, Dijon mustard, garlic powder, onion powder, white pepper, and kosher salt to a blender. Blend very well until entirely smooth and creamy. Keep the milk mixture in the blender for now.
- Add butter to a large pan and melt over medium-low heat. Once melted sprinkle in the flour, whisking until smooth. Cook for 2-3 minutes, until golden.
- Give the milk mixture in the blender another 10 seconds or so of blending right before pouring it into the pan with the butter and flour. Stir everything up frequently as it cooks for 8-10 minutes, or until it thickens enough to coat the back of your spoon. Keep in mind it will thicken up a little more once the cheese is added to it.
- Once thickened, remove the pan from the heat and gradually scatter in the cheese while whisking. Once all of the cheese has been added and melted, stir in the drained pasta and broccoli and stir to evenly combine. Serve right away.
- Use a silicone-coated whisk to prevent scratching the pan.
- Grate the cheese finely so it melts more quickly into the sauce.
- Heat leftovers in a small saucepan set on the stove over low heat. Cover and stir frequently until sufficiently heated. Add a tiny drizzle of milk if needed to make it extra creamy again.
- Leftover roasted broccoli can also be used in place of steamed. Blot away excess moisture before adding to the recipe.
Nutritional information is provided as an estimate. As it can vary due to many factors (brands used, quantities, etc.), we cannot guarantee its accuracy.Food Safety and Nutrition Disclaimer