Soups & Stews
This mac and cheese soup recipe transforms a classic comfort dish into something even more indulgent—crispy bacon bits floating atop clouds of creamy, cheesy broth. The secret lies in balancing rich cheddar with just enough creaminess, while the bacon adds a smoky contrast that makes every spoonful irresistible.
I developed this after years of perfecting my mac and cheese, and it never fails to impress.
What sets this soup apart is the texture: tender elbow macaroni simmered until al dente, enveloped in a velvety cheese sauce that thickens just enough to coat each noodle perfectly.
The bacon isn't an afterthought—it's crisped to a satisfying crunch before being folded in at the end, ensuring every bite delivers that satisfying contrast. This is the kind of soup that warms you from the inside out while feeling like a hug on a plate.
Ready in under 45 minutes, this recipe delivers restaurant-quality results with simple pantry staples. The broth develops deep, savory notes from aromatics like onion and garlic, while the cheese melts into a luscious, golden cloud.
Whether you're feeding a family or craving a solo comfort meal, this soup hits all the right notes—creamy, cheesy, and just a little bit indulgent.
Serve it with a sprinkle of extra cheese and fresh herbs for brightness, or pair it with crusty bread to soak up every last drop. The leftovers reheat beautifully, making it perfect for meal prep. Let's get cooking!
Ingredients for mac soup
Pantry staples plus a few key ingredients make this creamy, cheesy comfort soup irresistible.
| Ingredient | Amount | Notes |
|---|---|---|
| Elbow Macaroni 🍝 | 8 oz | Uncooked, standard size |
| Sharp Cheddar Cheese 🧀 | 2 cups | Shredded, block preferred |
| Heavy Cream 🥛 | 1 cup | Full-fat for richness |
| Whole Milk 🥛 | 1 cup | Warmed for smooth sauce |
| Bacon 🥓 | 6 oz | Thick-cut, crisped |
| Yellow Onion 🧅 | 1 whole | Medium size, diced small |
| Garlic Cloves 🧄 | 3 cloves | Fresh, minced |
| Butter 🧈 | 2 tbsp | Unsalted, for sautéing |
| All-Purpose Flour 🌾 | 2 tbsp | For thickening |
| Chicken Broth 💧 | 4 cups | Low-sodium preferred |
| Salt 🧂 | 1 ½ tsp | Kosher or sea salt |
| Black Pepper 🌶️ | ½ tsp | Freshly ground |
| Fresh Parsley 🌿 | ¼ cup | Chopped, for garnish |
The bacon is non-negotiable here—thick-cut gives the best crunch, and Costco or Trader Joe's usually have great deals on it. Look for slices with visible marbling for extra flavor. The cheese matters too: sharp cheddar from a block melts smoother than pre-shredded. I grab mine from the deli counter at Whole Foods or Kroger—it keeps for weeks if wrapped well. For the onion, yellow has the best sweetness when caramelized, but red works in a pinch if that's what's on hand.
No thick-cut bacon? Regular bacon, cooked extra crispy still works—just watch it closely. Running short on sharp cheddar? Gruyère or Monterey Jack add nice depth. The flour is just for thickening, but if you're gluten-free, cornstarch does the job (use half the amount). Fresh parsley is ideal for garnish, but dried parsley at one-third the amount works if you're in a bind. The chicken broth can be store-bought, but homemade tastes so much better—simmer bones with veggies for 30 minutes.
This soup reheats beautifully—just add a splash of milk or water to loosen it up. Keeps for 4-5 days in the fridge, and freezes for 3 months (though it's best fresh). I always make a double batch because it disappears fast. Store leftovers in an airtight container, and save some bacon bits for topping—they're worth the extra crisping.
Why You'll Love This Recipe
- One-Pot Magic: I swear by this recipe—just toss everything in one pot, stir once, and walk away. No measuring cups out, no extra pans, no stress. The bacon renders while the pasta cooks, and by the time it’s done, your kitchen smells like a diner at 2 a.m.
- Cheddar-Cream Dream: That sharp cheddar melts into the creamy milk-heavy cream mix like it’s been waiting its whole life. The first spoonful hits like a warm hug—salty, rich, and just enough cheesy pull to make you reach for another. Honestly, I’ve made this for people who “don’t like mac and cheese,” and they’ve come back for seconds.
- Weeknight to Party Fix: Need dinner in 25 minutes? Done. Hosting a last-minute game night? Double the batch. It’s the kind of dish that feels fancy when you serve it in a bread bowl but just as good straight from the pot. My college friends still ask for this one when they visit—no pretension, just pure satisfaction.
- Budget-Friendly Leftovers: Bacon and cheddar stretch this recipe into three meals without breaking the bank. The first night’s the best, sure, but the second day? Still ridiculous good—just reheat with a splash of milk to keep it creamy. I’ve fed my whole family for under $10, and no one complains. (Yes, even on a Tuesday night.)
Step-by-step instructions for mac and cheese soup
Here's how to make this creamy, comforting soup with perfectly crispy bacon and melty cheese.
Cook the Elbow Macaroni Al Dente
Bring a large pot of water to a rolling boil and add the 8 oz elbow macaroni. Cook until 1 minute before the package instructions for al dente texture—this ensures they finish cooking in the soup without getting mushy. Reserve 1 cup of pasta water before draining, as we'll use it later to adjust the soup's consistency. The pasta should still have a slight bite when you taste it.
While the pasta cooks, chop the 1 whole yellow onion into small dice. This will be sautéed with the bacon for extra flavor. Keep the onion pieces uniform so they cook evenly throughout the soup. The onion should be ready just as your pasta finishes cooking, allowing you to start building the soup immediately.
Cook the Bacon and Sauté Aromatics
In a large Dutch oven or heavy pot, cook the 6 oz bacon over medium heat until deep golden brown and crispy, about 8-10 minutes. Use a slotted spoon to remove the bacon and set it aside on a paper towel-lined plate, leaving the rendered fat in the pot. This fat is flavor gold—it's what gives your soup that rich, smoky depth.
In the same pot, reduce the heat to medium-low and add the 2 tbsp butter. Once melted, add the diced onion and cook for 5-6 minutes until softened. Stir in the 3 cloves minced garlic and cook for an additional 30 seconds until fragrant. The garlic should be golden but not browned—this prevents bitterness and ensures a smooth flavor in the soup.
Build the Creamy Cheese Base
Lower the heat to medium and sprinkle the 2 tbsp all-purpose flour over the onions and garlic, stirring constantly for 1-2 minutes to cook out the raw flour taste. Slowly whisk in the 4 cups chicken broth, the 1 cup whole milk, and the 1 cup heavy cream, ensuring no lumps form. Bring the mixture to a gentle simmer and let it cook for 5 minutes to thicken slightly.
Reduce the heat to low and gradually add the 2 cups shredded sharp cheddar cheese, stirring constantly until fully melted and smooth. If the soup starts to look too thick, whisk in some of the reserved pasta water, 1 tablespoon at a time, until you reach a creamy, pourable consistency. The cheese should be completely dissolved with no graininess remaining.
Combine and Finish the Soup
Add the drained elbow macaroni to the cheese sauce and stir gently to coat each piece. Return the crispy bacon to the pot and heat through for 2-3 minutes, ensuring everything is well combined. Taste and adjust the seasoning with the 1.5 tsp salt and 0.5 tsp black pepper as needed. The soup should be rich and flavorful without being overly salty.
Remove the pot from heat and stir in the 0.25 cup chopped fresh parsley. Let the soup rest for 5 minutes to allow the flavors to meld together. The parsley adds a bright, fresh note that cuts through the richness of the cheese and bacon. Serve immediately while the bacon stays crispy and the cheese remains velvety smooth.
Serve with Crispy Bacon on Top
Ladle the soup into bowls and top each serving with an extra sprinkle of crispy bacon bits. The contrast between the creamy soup and the crunchy bacon is what makes this dish truly special. Pair it with a simple green salad or crusty bread to round out the meal. The soup should be hot and bubbly, with each spoonful delivering that perfect balance of cheesy comfort and smoky bacon flavor.
Pro Tips For Making Mac Soup
- Cook Bacon First: I learned this the hard way—skipping this step means you’ll end up with greasy, soggy pasta later. Render the bacon until it’s crispy and golden, then remove it with a slotted spoon to drain excess fat. That fat’s your flavor base, but too much will turn your creamy soup into a greasy mess.
- Boil Pasta Until Al Dente: Mac soup needs that slight bite, so don’t overcook the elbow macaroni. Test it at 1 minute before the package says "done"—it’ll finish cooking in the soup. Overcooked pasta turns mushy and ruins the texture, no matter how good the cheese is.
- Shred Cheese Fresh: Pre-shredded cheddar has anti-caking agents that make the soup look grainy and clump weirdly. Grab a box of sharp cheddar, grate it yourself, and pulse it in a food processor for a smoother, creamier finish. Trust me, it’s worth the extra 30 seconds.
- Stir in Cream Late: Heavy cream curdles fast when it hits hot liquid, and that’s a texture disaster. Warm the milk first, then stir in the cream just before removing the soup from heat—let it heat through gently. If it starts breaking, whisk like your life depends on it (because your soup’s flavor does).
Best sauces and condiments for this recipe
Creamy Cheese Sauce
This soup's heart is a velvety cheese sauce made with sharp cheddar, heavy cream, and whole milk. I always use a mix of block cheese (shredded at home) and a splash of milk to prevent clumping.
For extra richness, I sometimes add ½ cup sour cream at the end—it adds tanginess that balances the cheesiness. The key is patience: let the cheese melt slowly over low heat while stirring constantly. 🧀
Smoky Bacon Fat
The bacon fat is non-negotiable for flavor—it adds that deep, smoky richness that takes this soup from ordinary to extraordinary. I always cook thick-cut bacon until it's deep golden brown and crispy, then remove it to drain on paper towels.
The rendered fat stays in the pot to sauté the onions and garlic, creating a flavor base that's impossible to replicate with store-bought bacon grease. Pro tip: Save the extra bacon bits for topping—they're worth the effort. 🥓
Herb-Infused Oil
For a fresh, bright finish, I drizzle the soup with a simple herb-infused oil before serving. Heat ¼ cup olive oil with 1 tbsp chopped fresh parsley, 1 tsp minced garlic, and a pinch of red pepper flakes until fragrant.
Let it cool slightly, then spoon it over the soup just before serving. This adds a vibrant contrast to the creamy, cheesy base while keeping the dish light. 🌿
Spicy Kick Option
If you love heat, stir in ½ tsp cayenne pepper or 1 tbsp hot sauce (like Frank's RedHot) when you add the cheese. For a smoky-spicy twist, I sometimes add ½ tsp smoked paprika to the flour mixture before cooking it out.
This gives the soup a subtle depth that pairs perfectly with the bacon and cheese. 🌶️
Creamy Roasted Garlic
For a sweeter, nuttier flavor, roast 2 whole garlic cloves at 400°F for 15 minutes before mincing them. The roasted garlic adds a caramelized sweetness that complements the sharp cheddar beautifully. I like to add it to the soup along with the fresh garlic for a layered flavor experience.
This works especially well if you're serving the soup to guests who prefer milder flavors. 🧄
Crispy Bread Topping
For an extra crunchy element, toast ½ cup cubed sourdough bread in the oven at 375°F for 8-10 minutes until golden and crispy. Sprinkle these croutons on top of the soup right before serving.
The bread soaks up the creamy cheese sauce beautifully while adding a satisfying texture contrast. I also like to add a sprinkle of grated Parmesan on top for an umami boost. 🍞
Nutrition facts
Frequently asked questions
Can I make this mac soup with different types of pasta?
While elbow macaroni works perfectly, try penne or farfalle for fun shapes. For a heartier texture, use ditalini or small shells. Just remember to cook the pasta 1 minute less than package instructions—it'll finish cooking in the soup. Avoid long pasta like spaghetti, as it can get mushy.
What if I don't like bacon? Can I substitute something else?
Yes! Swap bacon for crispy fried onions or crumbled sausage (Italian or chicken). For a vegetarian option, try toasted breadcrumbs or crispy chickpeas. If you want a cheesy upgrade, add grated Parmesan to the top instead. The key is keeping that satisfying crunch!
How can I make this soup thicker or thinner?
For a thicker soup, simmer uncovered for 5-10 extra minutes to reduce the liquid. If it's too thin, mix 1 tbsp cornstarch with 2 tbsp cold water, stir it in, and cook for 2 minutes. For a thinner soup, add ¼ cup warm milk or broth at a time until it reaches your desired consistency.
Can I make this soup ahead of time?
Yes! This soup reheats beautifully. Store it in an airtight container in the fridge for up to 4-5 days. When reheating, add a splash of milk or water to prevent thickening. For freezing, cool the soup completely, then freeze for up to 3 months. Thaw overnight in the fridge before reheating. The bacon will stay crispy if added fresh after reheating.
What's the secret to preventing a grainy cheese sauce?
Use block cheese (shredded at home) instead of pre-shredded. Add cheese gradually over low heat, stirring constantly until fully melted. If the sauce looks lumpy, whisk in 1 tbsp warm milk or broth to help dissolve the cheese. Never boil the cheese—it can cause separation. Patience is key!
