Heat the milk in the microwave until warm.
Melt the remaining 3 tablespoon of butter in a large sauce pan, over medium-low heat. Add the onions and cook gently for 2 minutes, stirring frequently.
Add the flour to the pan and whisk until incorporated. Cook the flour for 1-2 minutes, stirring almost constantly.
Gradually add the warm milk, whisking constantly until the milk is incorporated.
Stir in ¼ teaspoon salt, pepper, nutmeg and add the bay leaf.
Raise the heat to medium and bring the sauce to a simmer (this should take about 5 minutes). As soon as you see a few bubbles, lower the heat to medium-low. Continue to stir the sauce, especially as it starts to thicken.
Cook the sauce for an additional 3 minutes, stirring frequently.
Remove the bay leaf from the sauce and discard.
Add the cheddar and the Parmesan cheeses to the sauce and stir until melted and smooth.
Keep the cheese sauce on low heat and give it a quick stir every so often so it doesn’t stick or burn on the bottom.