TIP: The key is to work on a medium to medium-low stovetop heat. You don't want the milk to boil at any point as this can cause the sauce to break up.
Preheat oven to 350F.
Freshly grate all the cheeses. Reserve 2 cups for the topping.
Bring a large pot of water to a boil. Salt generously, then add the pasta to cook until al dente. Drain and set aside.
Add a large, oven-safe skillet over medium-low heat. I prefer using a 3.5 qt braiser or casserole dish that's stovetop safe.
Add the butter to the skillet to melt. Once melted, add the garlic to sauté 30 seconds, then whisk in the flour until fully absorbed by the butter and smooth.
While whisking, gradually pour in 1/4 cup of heavy cream, whisking vigorously until mixture thickens, about 30 seconds, before adding more. Once all the heavy cream is added, the mixture should be very thick and smooth.
Gradually pour in the milk as you whisk. The mixture will loose its thickness as more milk is added and that's okay! Once all milk is added, let cook another 3-5 minutes. Make sure to avoid a rolling boil! It is done when it lightly coats the back of a spoon.
Remove from heat before adding in the cheese gradually in small handfuls to stir until smooth.
Stir in the salt, black pepper, and nutmeg.
Stir in the pasta until well combined.
Evenly distribute the remaining grated cheeses that you set aside on top.
Bake for 20-25 minutes, until cheeses are bubbly and the top is beginning to brown. Broil the last 30 seconds to 1 minute for a deeply golden brown top.
Let rest at least 10 minutes before enjoying. Best kept warm until ready to serve.
TIP: For the ultimate cheese pull, you'll need to transfer the unbaked creamy Mac n cheese mixture to a separate large bowl. Then, add half of the mixture back into the casserole dish. Add an extra 1 1/2 cups of freshly grated mozzarella on top. Add the remaining creamy pasta, then top with the remaining cheeses to bake as normal!