In a medium-sized, heavy pot, combine the granulated sugar, evaporated milk, and unsalted butter. Stir to combine.
Cook the mixture over medium heat, stirring frequently, until it comes to a boil.
Once boiling, continue to cook for 5 minutes, stirring constantly. Use a candy thermometer to ensure it reaches the soft ball stage (235°F).
Once at the correct temperature, remove the pot from the heat.
Stir in the peanut butter, peanut butter chips, and marshmallow creme until smooth and creamy.
If desired, fold in salted peanuts and reserve a few to sprinkle on top.
Butter or spray a 9×9-inch baking dish with nonstick spray.
Pour the fudge mixture into the prepared dish and spread it evenly with a spatula.
Let the fudge cool at room temperature for several hours.
Once fully cooled, cut the fudge into squares.