Chop up the cauliflower into bite-sized pieces, removing the stem and leaves as you do. Finely chop the onion and mince the garlic. Toast the bread and then finely chop or pulse in a food processor until you have bread crumbs, set aside.
In a medium pot, melt the butter with the onion and garlic over medium heat. Whisk in the flour and salt and pepper. This will create a paste (often called roux). Slowly add the vegetable stock while continuing to whisk to create a thinner paste. Then pour in all the milk in a slow steady stream as you whisk so the paste combines well with the milk. Now add in 10 oz. of the shredded cheese and stir until melted.
Bake at 350°F for 18-20 minutes until the edges begin to bubble. Allow to cool for a few minutes before serving. If you want to dress this up a little, add a sprinkle of fresh herbs or chives to the top.
You can use any kind of bread crumbs you prefer, but I love something with a little flavor here, so I recommend rye or something else fun like a few everything bagels.
You can also use any kind of cheese, but I like a mix of pepper jack and cheddar.