In a 2 quart or larger saucepan, melt the butter over medium heat with the minced garlic.
Once the butter has melted, whisk in the flour to make a roux. Cook for 1 minute, whisking constantly. This will help cook out the taste of raw flour.
Slowly add the milk in 3 additions. Whisk continuously making sure the sauce is smooth after each addition of milk.Tip: When the milk first hits the roux, it will ball up like dough, that's what you want. As you add more milk, the mixture will turn into a paste, and then with the last addition of milk, turn into a thin smooth sauce.
Turn the burner up to medium-high heat and bring the sauce to a simmer, whisking continuously. Turn the heat down if necessary to prevent burning. Gently simmer for 45-60 seconds until slightly thickened, Add in the salt and pepper.
Remove the sauce from the heat. Working in two batches, add in the shredded parmesan. Whisk the cheese in slowly allowing the first batch to melt completely before adding the second batch.
Whisk until the sauce is completely smooth. The sauce will have thickened quite a bit, but will still be pourable (you can add a little more milk if the cheese sauce is too thick to pour).
Give the Alfredo sauce a taste and season with more salt and pepper if needed.