Cook the pasta: Bring a large pot of salted water to a boil. Add the elbow macaroni and cook according to package directions until al dente. Drain the pasta and set aside.
Make the roux: In the same pot (now empty), melt the butter over medium heat. Whisk in the flour and cook for 1-2 minutes, until smooth and golden. This is the base that will give our Mac and Cheese richness.
Create the béchamel: Gradually whisk in the milk, making sure to break up any lumps. Continue whisking until the sauce thickens and coats the back of a spoon, about 5-7 minutes.
Add the cheeses: Remove the pot from the heat. Stir in the cheddar cheese and parmesan cheese until melted and smooth.
Season: Stir in the nutmeg, salt, and pepper to taste. Remember to taste as you go and adjust the seasonings as needed.
Combine: Add the cooked macaroni to the cheese sauce and stir until well coated.
(Optional) Bake: Pour the mac and cheese into a greased 9x13-inch baking dish. Sprinkle with additional cheese (optional) and bake in a preheated oven at 350°F (175°C) for 15-20 minutes, or until bubbly and golden brown. Note, many people prefer to eat the fresh creamy version of the dish and consider baking the sauce heresy.
Serve: Let the Mac and Cheese cool slightly before serving. Enjoy!