Preheat oven to 350°F. Grease a 9-inch cake pan and line the base with parchment paper.
Cream together butter, peanut butter, and sugar until light and fluffy.
Beat in the eggs one at a time until fully incorporated.
In a separate bowl, whisk together flour, baking soda, and salt.
On low speed, alternate adding the flour mixture and buttermilk, beginning and ending with the dry ingredients.
Fold in the chopped peanut butter cups coated in flour.
Pour batter into prepared pan and smooth the top.
Bake for about 33 minutes, or until a toothpick inserted in the center comes out clean.
Let cool for 5 minutes before removing from the pan, then cool completely on a wire rack.
For the frosting, beat together butter, peanut butter, and ⅓ cup cream until smooth.
Gradually add powdered sugar, mixing well between additions. Adjust cream for desired consistency.
Spread frosting generously over the cooled cake.
Decorate with peanut butter cups or hearts.
Store in the refrigerator; bring to room temperature before serving.