Warm the pot. Place a large, heavy pot over medium heat.
Add the butter and let it melt until foamy, about 1 minute.
Sauté the garlic. Add the minced garlic and cook 30–45 seconds, stirring, until fragrant. Do not brown it, or it will turn bitter.
Add liquids and pasta. Pour in the broth and milk. Stir in the dry pasta and 1/2 teaspoon salt.
Bring to a gentle boil, then reduce to a brisk simmer.
Simmer and stir. Cook uncovered, 8–10 minutes, stirring often so the pasta doesn’t stick. The liquid will reduce and thicken as the pasta releases starch.
Check doneness. When the pasta is just al dente and the sauce looks slightly loose, lower the heat to low. If it seems too tight, add a splash of milk or hot water.
Add the cheeses. Off the heat or on the lowest flame, stir in Parmesan a handful at a time until melted and smooth.
Fold in mozzarella for stretch. Add the optional cream for extra silkiness.
Season. Taste and adjust with salt, black pepper, and a pinch of red pepper flakes if you like heat. A tiny pinch of lemon zest can brighten the richness.
Rest and serve. Let it sit 2 minutes to thicken slightly.
Sprinkle with chopped parsley and serve warm.