Preheat your oven to 350°F (175°C). Grease and flour a 9x13-inch baking pan.
In a large mixing bowl, combine the flour, sugar, baking powder, and salt. Mix well.
Add the softened butter, milk, eggs, and vanilla extract to the dry ingredients. Beat with an electric mixer on medium speed for about 2 minutes until well combined.
Pour the batter into the prepared baking pan and spread it evenly. Bake for 30-35 minutes or until a toothpick inserted in the center comes out clean.
Remove the cake from the oven and let it cool in the pan for about 10 minutes.
Using the handle of a wooden spoon or a fork, poke holes all over the top of the cake, about 1 inch apart.
In a small bowl, mix the peanut butter and jelly together until smooth. Spoon the mixture evenly over the poked holes in the cake, allowing it to seep in.
Let the cake cool completely, then spread the whipped topping over the top.
If desired, sprinkle chopped peanuts on top for added crunch.
Refrigerate the cake for at least 1 hour before serving to allow the flavors to meld.