Combine first 4 ingredients in a large sauce pot; cook over medium heat, stirring constantly, until sugar dissolves. Add 2 tablespoons butter; stir until butter melts. Cover and boil mixture 3 minutes.
Remove cover and continue to cook, without stirring, until mixture reaches soft ball stage (234 degrees). Remove from heat and without stirring, add remaining butter, pecans, peanut butter and vanilla. Let cool 10 minutes.
Beat mixture until well blended. You will feel the mixture thicken as you beat. Immediately pour into a buttered 9-inch square pan. Cool and cut fudge into 1 1/2 inch squares.
TIPS & TRICKS:
Check you thermometer before beginning to determine an accurate read for the soft-ball stage. Remember that water boils at different temperatures at different altitudes. I cook mine until it reaches 236 degrees. I've read the best stage for fudge is between 236 and 238.
Do not leave out the corn syrup. It's acts as a stabilizer.
Absolutely do not stir mixture beyond Step 1. It WILL become grainy. Not often do I let it 'sit for 10 minutes' in Step 2, but this is used to prevent additional crystallization of sugar granules.
Keep your fire low. I've found a slow simmer produces a smoother texture. It also keeps the milk from curdling.