Fill a large pot 2/3 full with hot water. Add salt to the water, cover the pot, and put the heat on high to let it come to a boil.
While the water is heating, rinse your broccoli. Cut off and discard the thick stems, leaving the florets plus 2-3 inches of stems attached. Slice your florets in half the long way to thin out the stems a bit.
Prepare your onion and garlic. Peel and chop half a white onion and measure out 1/2 cup. Peel your garlic and chop it finely.
When the water is boiling, add your broccoli to the pot and give it a stir. Lower the heat to medium high and let the broccoli cook uncovered for 4 minutes, or until just tender.
While the broccoli is cooking, prepare your cheeses. Shred your Fontina in a food processor or blender, or use a box grater. Grate your Parmesan the same way.
When the broccoli is just tender, drain it in a colander in the sink. Rinse the broccoli with cold water to stop the cooking.
Preheat your oven to 375 degrees F. To make your cheese sauce, in a small pot, melt 2 Tablespoons of butter over medium-high heat. Add your onions and garlic and stir a bit. Let them cook for 3 minutes, or until the onions are tender. (If you are making a bigger batch of the base recipe, it might take longer for the onions to become tender.)
Add the flour and stir to combine. Cook the flour mixture for a minute.
Add your milk to the pot, whisking constantly. Cook over medium-high heat, whisking constantly, for 5 minutes, or until it starts to thicken. (This will take longer if you are making a larger quantity of this recipe. Keep stirring until you have a thickened sauce.)
Turn off the heat and stir in your Fontina until it is blended smoothly. Stir in the salt and pepper.
In a small bowl, combine the Parmesan for the topping with the bread crumbs. (If you need to make bread crumbs, you can toast a slice of bread on medium high and then add it in pieces to your food processor or blender. Pulse the toast until it becomes crumbs.)
To assemble your gratin, ladle some cheese sauce into the bottom of a 1-1/2 quart baking pan (I used my deep dish baker.) You want to cover the bottom of the pan with a layer of sauce. Pat your broccoli dry with paper towels and add all of the broccoli to the baking pan in an even layer. Pour the rest of the cheese sauce all over the broccoli. Sprinkle on the bread crumb mixture evenly.
Finally, melt 2 Tablespoons of butter in a microwavable bowl in the microwave or in a small pan on the stove. Drizzle the melted butter over the broccoli and bread crumb mixture.
Bake the gratin for 20-25 minutes, uncovered, until it is lightly browned. Serve with red pepper flakes at the table.
Store leftovers in the refrigerator for up to 5 days.
When I double this recipe, I bake it in a 9x13 or 9x11 pan. Note that if you are making double or more of this recipe, you will need extra time to get your cheese sauce to thicken, and whole milk will thicken faster than 2%.