In a large saucepan over medium heat, melt the butter. Add the shallots and pepper. Lightly saute until the onions are translucent. It won't take long, 4-5 minutes then add the garlic and saute just until it becomes fragrant - about 30 seconds or so.
Reduce heat to low and sprinkle with the flour. Continue sautéing for another minute to cook out the flour taste, stirring constantly.
Add the wine and continue to stir constantly. Cook about another minute. The sauce will be very thick.
Reduce the heat to low temperature and slowly pour in the half & half. Continue to stir until the mixture begins to thicken - this will only take a couple of minutes. Do not allow the milk to boil as it will curdle.
Add the parmesan cheese. Stir until the cheese is melted. Taste for seasonings. You may need to add a pinch of salt. Simmer the sauce on low for about 10 minutes. You'll want to continue to simmer it to bring all of the flavors together, so while it is cooking away, you will have time to cook the pasta.
Remove from heat & add ½ the parsley.
Cook the pasta according to package directions. Drain well, do not rinse. Reserve one cup of the pasta water.
Add the cooked pasta to the Alfredo Sauce and mix to combine. Take your time and mix it together really well. If the pasta is too stiff, add a ladle of pasta water.
Serve topped with additional parmesan cheese & parsley.