Start by boiling some water in a large pot. Once boiling, toss in the spaghetti. Cook until al dente, ensuring it has a firm texture. Be careful not to overcook, as it will continue to soften in the oven.
Melt the unsalted butter in a saucepan over medium heat. Let it sizzle and melt completely. Sprinkle in the unbleached all-purpose flour, stirring continuously until the mixture is smooth. It should smell nutty but not brown, so do not walk away during this step.
Add kosher salt, black pepper, cayenne, and granulated garlic to the roux, mixing until fragrant and well-combined. Ensure it is thoroughly blended to avoid any clumps, aiming for a silky consistency.
Slowly pour in the half and half and heavy cream while whisking continuously. The mixture will start to thicken and become creamy. This gradual addition helps avoid a floury taste, so take your time during this process.
Stir in the sharp cheddar and mozzarella, allowing them to melt into the creamy mixture. Ensure all the cheese is fully melted for a smooth, gooey consistency.
Gently fold the cooked spaghetti into the cheese sauce, ensuring each piece is coated. Be cautious to avoid breaking the delicate spaghetti.
Pour the macaroni and cheese mixture into a greased 9 x 13 inch baking dish, spreading it evenly. Aim for even coverage to ensure every bite is deliciously cheesy.
Place the dish in a preheated oven and let it bake until golden brown on top. You should rotate the dish halfway through the cooking time for even browning.
Once out of the oven, allow the dish to cool for a few minutes before serving. The cheese sauce will thicken more as it cools, making for a cozy, comforting dish.