Place the sugar, cornstarch and salt in a saucepan over medium high heat. Slowly add in the milk, whisking it constantly until the sugar is fully dissolved. Whisk in the half and half and heat until fully heated through.
Bring the mixture to a boil. Reduce the heat to medium low and cook for 2 minutes stirring the mixture constantly so that it does not burn.
Remove the pan from the heat. Stir in the peanut butter and vanilla extract.
Let the pudding cool to room temperature, then transfer it to a bowl.
Cover it with plastic wrap and gently press the plastic wrap down so that it touches the top of the pudding to prevent a skim layer forming on top of the pudding.
Refrigerate for at least 1 hour. Then the pudding is ready to serve chilled and enjoy!
Notes
Refrigerate the leftovers for up to 1 week in an airtight container.