preheat the oven to 350F
Chop the broccoli florets off the heads.
Steam the broccoli florets for about 5-8 minutes til tender
Bake the bacon in the oven for about 15 minutes. Remove from the oven and turn it up to 400F
Carmelize the onions in a large sauce pan with the sugar, about 20 minutes.
Once the onions are brown, add the garlic and cook another 2 minutes, then remove from the pan.
Melt the butter in the pan, whisk in the flour to create a roux. Add the cream, water and dijon and whisk to fully combine. Bring the mixture to a boil, then reduce to low and simmer for 2 minutes. Whisk in 3/4 of the cheese a little at a time.
Place the broccoli, bacon and onions in a baking dish, cover with the cheese sauce and then the remaining 1/4 of the cheese. Bake at 400F for 25 minutes.