2 tablespoons olive oil or vegetable oil
2 cups (10 ounces) diced onion, 1 large
1 teaspoon kosher salt, divided
4 cups (16 ounces) cauliflower florets, 1 medium
2 cups (16 ounces) low-sodium chicken broth or vegetable broth
3 tablespoons unsalted butter
3 tablespoons all-purpose flour
2 cups whole milk, warmed
1/2 cup dark beer, such as Guinness
1 teaspoon fresh thyme leaves or 1/2 teaspoon dried thyme
1 tablespoon Worcestershire sauce
1 teaspoon dry mustard
1/4 teaspoon freshly ground black pepper
2 cups (8 ounces) grated sharp cheddar cheese
In a 5-quart stock pot over medium heat, heat the olive oil until shimmering. Add the onion and ½ teaspoon salt, stir and cook until the onion turns slightly golden, about 10 minutes. Add the cauliflower, stir everything together to coat with the oil, cook for an additional 3 to 4 minutes, add the broth and bring to a boil. Reduce the heat to medium-low so the liquid is just simmering. Cover the pot and cook until the cauliflower is fork-tender, 7 to 10 minutes.
While the cauliflower cooks, in a small saucepan over medium-high heat, melt the butter until foaming. Sprinkle the flour over the melted butter and whisk until smooth, forming a roux. Reduce the heat and continue to whisk until the roux turns golden brown, about 7 minutes. Add the warmed milk in a stream, whisking until thick and smooth. Add the beer, whisking until smooth, and bring to a simmer, warming just until the bubbles have dispersed, 2 to 3 minutes.
Using a rubber spatula, scrape the beer sauce into the soup and stir until smooth. Add the remaining ½ teaspoon salt, the thyme, Worcestershire, mustard, black pepper and cheese. Stir and heat until a silky cheese soup surrounds the cauliflower, 3 to 4 minutes. Serve hot.