Boil in well-salted water. Reserve ½ cup of pasta water before draining.
In a large skillet over medium-high heat, cook ground beef, breaking it up well.
Once browned, add garlic and spices. Stir for one minute. If very greasy, drain excess fat, leaving a little for flavor. Remove beef from the pan.
In the same pan, melt butter over medium heat. Whisk in flour. Cook 1 to 2 minutes (do not brown).
Slowly whisk in milk and stir until it begins to thicken. Add cream and stir to combine. Simmer gently for 3 minutes until thickened.
Lower the heat and stir in grated parmesan, salt, ground pepper and nutmeg.
Stir until smooth and silky. If too thick → add a splash of pasta water.
Add beef back in. Add drained pasta. Toss until coated and glossy.
Adjust consistency with reserved pasta water until it clings beautifully.
Notes
Use 85-90% lean ground beef for the best balance of flavor. Too lean and it can dry out, too fatty can make the sauce greasy.
Don't let the roux brown when cooking the flour. You want it a blonde color, not golden or brown.
Let the milk come to room temperature before adding to the roux. Cold milk can cause the sauce to "seize up" and get lumpy. Add it slowly and whisk continuously while making the sauce.
Simmer the sauce gently, not at a rolling boil. High heat can cause the cream to break.
Grate Parmesan fresh from a block. This is the most important tip for smooth, creamy Alfredo sauce! Add the cheese on low. High heat can make the cheese grainy too.
Reserve pasta water before draining. You'll need it to adjust sauce consistency. And don't rinse the pasta after draining. The starch helps the sauce cling.
Finish everything in the pan. Toss pasta with sauce over low heat. This helps the sauce coat every strand evenly.