Dice the onion into 1/2-inch pieces, chop the celery into 1/4-inch pieces, dice the carrots into 1/4-inch pieces, mince the garlic cloves, and cut the broccoli into 1-inch florets. Having everything prepped and ready makes the cooking process smooth and prevents overcooking of any components. Heat 3 tablespoons of olive oil in a large pot over medium heat until shimmering, then add the diced onion and celery. Cook for about 5 minutes, stirring occasionally, until the vegetables soften and become translucent—this develops a sweet, mellow flavor foundation that anchors the entire soup.
Add the minced garlic to the softened onion and celery mixture and cook for about 1 minute, stirring constantly, until fragrant—this quick bloom releases the garlic's essential oils and prevents it from burning. Immediately sprinkle the flour over the vegetables and stir continuously for another minute, coating all the vegetables evenly. This creates a roux that will thicken the soup and add a subtle toasted flavor. I like to add the flour right after the garlic so the residual heat helps cook it out slightly, which gives the final soup a smoother texture.
Slowly pour the chicken broth into the pot while whisking constantly to prevent lumps from forming in the roux. Whisk until the mixture is smooth and well combined, about 1-2 minutes. The gradual addition and whisking ensures the flour dissolves evenly and creates a silky, lump-free base rather than a gloppy soup.
Pour in the oat milk and stir well to combine. Add the diced carrots and broccoli florets from your mise en place, along with the salt. Bring the mixture to a gentle simmer over medium heat and cook for approximately 10 minutes, stirring occasionally, until the broccoli and carrots are completely tender when pierced with a fork. The oat milk adds richness and creaminess that mimics traditional cream, while simmering gently ensures the broccoli cooks evenly without becoming mushy.
Remove the pot from heat and stir in the nutritional yeast, Dijon mustard, and paprika, stirring well until everything is fully incorporated. The nutritional yeast adds a savory, cheesy depth that replaces traditional cheddar cheese beautifully, while the Dijon mustard brings subtle tang and complexity. Let it sit for 1 minute off the heat to allow the flavors to meld gently.
Using an immersion blender, blend the soup while leaving some chunks of broccoli and carrots visible—this creates a rustic texture that's more interesting than a completely smooth purée. Blend for about 1-2 minutes, working the blender around the pot to catch all the vegetables, until you reach a soup that's mostly creamy with some vegetable pieces throughout. I find that keeping some texture makes the soup feel more substantial and lets you taste the individual vegetables rather than just cream. Taste and adjust seasoning with additional salt or mustard as needed, then ladle into bowls and serve hot.