Preheat the oven to 400ºF. Spray a 9x13-inch casserole dish with nonstick cooking spray. Set aside.
In a large bowl, toss the chopped cauliflower florets with olive oil, garlic powder, onion powder, salt, and pepper. Make sure all of the cauliflower is coated.
Transfer the cauliflower to the prepared casserole dish and spread it into an even layer. Bake for 12 minutes, toss, and bake for another 12 minutes (about 24 minutes total bake time).
While cauliflower is roasting, make the cheese sauce. Melt the butter in a medium-sized pan over medium/high heat. Add in the flour and mix with the butter until it turns into a thick paste.
Reduce the heat to low/medium and slowly stream the milk into the butter and flour mixture, consistently mixing with a whisk.
Whisk over low heat until the milk mixture thickens. Remove the pan from the heat and whisk in the cheddar cheese, Greek yogurt, cream cheese, and salt. Whisk until all of the cheese is melted.
Once the cauliflower is done roasting, remove the casserole dish from the oven. Pour the cheese sauce over the cauliflower and mix together. Make sure all of the cauliflower is covered in the cheese sauce.
Sprinkle parmesan cheese on top of the cauliflower and turn the oven to broil.
Place the cheesy cauliflower back into the oven and broil on high for 2-5 minutes until bubbly and golden brown (time varies based on the broiler). Remove from the oven and enjoy!