Preheat oven to 450° Fahrenheit. Toss cauliflower florets with about 1½ tablespoons of olive oil, kosher salt, pepper, and garlic cloves. Spread florets on a baking sheet and cook for about 25-30 minutes or until golden brown. Toss the florets every 10-15 minutes to make sure they are browning evenly.
About 10 minutes into the roasting, add about 1 tablespoon of olive oil in a large pan over medium heat. Stir in garlic and shallot and sauté for about 2 minutes, stirring often so the garlic and shallots do not burn. Add broth, which should sizzle and boil a bit - turn down the heat if needed. Then add half & half (or milk) and bring to a very low simmer. Be sure to NOT bring this to a boil if using milk or it may curdle. Cook until slightly thickened and reduced, about 5 minutes. The sauce will still be pretty thin, but a good way to tell if it's ready is to see if the mixture coats the spoon or leaves a path when you stir it.
Turn the heat to low and stir in the goat cheese until well-combined and smooth. The sauce should be creamy and thick enough to stick to the cauliflower. If you need to add more broth or half & half to thin it out, just add a tablespoon at a time. Taste and adjust any seasonings with salt or pepper.
Add roasted cauliflower to the pan and stir to coat with the cheese sauce. Top with parsley and serve!
Notes
Use fresh unflavored goat cheese (chèvre) or give herbed goat cheese a try if you love the original.
If you hate goat cheese, Boursin garlic and chive or black pepper can be substituted, or cream cheese for a much lighter flavor.
Roasting the cauliflower is an important step, don't skip it!