Place the broccoli in a large saucepan. Cover with enough water to create a thin layer of water across the bottom of the pan (about 1 cup or so should do it; the broccoli itself will not be covered). Bring to a simmer over high heat, then cover the pan and let simmer until the broccoli is bright green and crisp-tender, 4 to 5 minutes. Drain the broccoli, then place in a bowl and cover to keep warm.
With a towel, carefully wipe the pan dry. Add the butter and melt over medium-low. Once it melts, sprinkle the flour over the top. Whisk constantly until the flour turns golden, about 1 full minute.
Slowly pour in the milk, whisking constantly to avoid lumps. Let simmer, whisking the entire time, until the sauce thickens slightly, about 3 minutes.
Reduce the heat to low. Working a small handful at a time, whisk in the cheddar cheese, allowing it to melt fully between additions (if you add too much at once, the sauce will clump). Stir in the Parmesan, salt, and mustard and cayenne (if using). Taste and adjust the seasoning as desired (I add a pinch of extra salt). Serve the broccoli warm, with the cheese sauce over the top. Or, stir the broccoli gently into the sauce and serve it mixed.