Preheat oven to 400°F (200°C). Toss cauliflower florets with olive oil, salt, and pepper. Spread on a baking sheet and roast for 20 minutes until tender-crisp.
While cauliflower roasts, melt butter in a large skillet over medium-low heat. Add sliced onions and cook slowly, stirring occasionally, for 20-25 minutes until deep golden brown and caramelized. Remove onions from the pan and set aside.
In the same skillet, increase heat to medium-high. Add chopped beef bacon and cook until crispy. Remove with a slotted spoon. Add ground beef to the rendered fat and cook until browned. Drain excess grease if necessary.
Reduce heat to low. Stir in the softened cream cheese, heavy cream, garlic, thyme, and half of the cheddar cheese until a smooth sauce forms.
Fold the roasted cauliflower, caramelized onions, and cooked beef into the cheese sauce until well coated.
Transfer the mixture to a 9x13 inch baking dish. Top with the remaining cheddar cheese, parmesan, and crispy beef bacon.
Bake for 15-20 minutes until the cheese is bubbly and golden brown. Let rest for 5 minutes before serving.