Ingredients
- 2 Tbsp unsalted butter
- Drizzle of olive oil
- 1 medium yellow onion, finely diced
- 3 cloves garlic, minced
- 2 heads broccoli, florets chopped (about 4 cups)
- 1 and 1/2 cups milk
- 1/2 cup heavy cream
- 4 cups chicken stock
- 1 lb pasta shells
- 1 lb freshly grated sharp cheddar (mix of yellow and white)
- Grated Parmesan, to taste
- Salt and black pepper, to taste
- Optional: pinch of garlic and herb seasoning
Instructions

Start by placing a large Dutch oven on medium heat, then add the butter along with a light drizzle of olive oil so the butter does not brown too quickly and the base develops a rich, savory flavor. Once the butter is fully melted and gently foaming, stir in the finely diced onion and cook, stirring often, until it softens and becomes translucent without browning. After the onion turns tender and fragrant, add the minced garlic and a light pinch of salt, then cook for about a minute until the garlic softens and perfumes the kitchen without turning golden or bitter.
2. Build the flavorful cooking liquid
Pour the chicken stock into the pot and stir well to loosen any flavorful bits from the bottom of the pan so they become part of the sauce. Add the milk and heavy cream, along with a small pinch of garlic and herb seasoning if using, then bring the mixture up to a steady boil over medium to medium high heat, stirring occasionally so the dairy does not catch on the bottom.
3. Add and soften the broccoli

While the liquid heats, trim the broccoli by removing the tough stems and cutting the florets into small, bite sized pieces so they can soften quickly and almost blend into the sauce. Once the pot reaches a rolling boil, stir in the chopped broccoli and let it cook in the hot liquid until it begins to soften and lose its bright raw edge. Taste the broth at this stage and adjust with salt if needed, because this is the best moment to make sure the base is well seasoned before adding the pasta and cheese.
4. Cook the pasta with the broccoli

When the broccoli has started to become tender and the liquid is bubbling steadily, add the dry pasta shells straight into the same pot and stir very well so the shells do not stick together. Cover the Dutch oven with a lid to trap steam, then cook the pasta over a gentle boil for about 8 to 10 minutes, or according to package directions, stirring once or twice until the shells are al dente and the broccoli is very soft and mingled throughout the pot.
5. Turn the pot into mac and cheese

Once the pasta is cooked to al dente and most of the liquid has been absorbed into the shells and broccoli, lower the heat to low or turn it off so the cheese melts gently without becoming greasy.

Add the freshly grated sharp cheddar a handful at a time, stirring thoroughly between each addition, allowing each handful to melt smoothly into the sauce before adding the next so you avoid clumps and get a silky, thick coating.
6. Finish with Parmesan and seasoning

When all the cheddar has melted and the sauce looks glossy, creamy, and thick enough to cling generously to each shell, stir in a generous handful of grated Parmesan for extra depth and saltiness. Grind in some black pepper and taste, then add additional salt or more Parmesan as needed until the broccoli cheddar mac and cheese tastes balanced, rich, and just a little sharp from the cheese.
7. Serve the broccoli cheddar mac and cheese

Serve the mac and cheese straight from the pot while it is piping hot, with extra Parmesan and freshly ground black pepper over the top for a pretty finish and an extra hit of flavor. The broccoli should be very tender and almost melt into the cheese sauce, giving each bite a cozy combination of creamy pasta, mild sweetness from the onion, and the comforting flavor of broccoli cheddar soup in mac and cheese form.
- Prep Time: 10 Mins
- Cook Time: 25 Mins