Start by melting the butter in a large soup pot over medium heat. Once melted, toss in the chopped onion. Let it cook until the onion becomes soft and translucent—this takes about 3 minutes. Then, add in your minced garlic and sauté for another minute until fragrant. It already starts to smell like something special.
Sprinkle the flour evenly over the onion and garlic mix. Stir continuously, letting it cook for about 2 minutes. The flour will turn slightly golden and form a thick paste. This step is important for thickening the soup and giving it that creamy consistency.
Now, slowly whisk in the broth and milk. Do it gradually so you don’t end up with any lumps. This creates the perfect smooth and creamy base. Bring everything to a gentle simmer—don’t boil too hard or the dairy may separate.
Add the macaroni directly into the simmering broth. Let it cook for about 8–10 minutes until tender. Stir every couple of minutes to keep it from sticking to the bottom. This way, the pasta soaks up all that cheesy goodness from the start.
Turn the heat down to low. Now it's time to stir in your cheeses. Add a handful at a time—cheddar, mozzarella, and Parmesan—mixing well so everything melts smoothly. Sprinkle in the smoked paprika, then season with salt and pepper to taste.
Once it’s silky and thick, ladle it into warm bowls. Add your favorite toppings like crispy bacon, parsley, or breadcrumbs. Then dive into the coziest soup ever made.