1 (1 pound) package bacon
1/2 cup crunchy peanut butter
1/4 cup bacon grease
1/4 cup butter, softened
1 (18.25 ounce) package butter cake mix
2/3 cup water
2 cups creamy peanut butter
2 (8 ounce) packages cream cheese, at room temperature
5 cups confectioners' sugar
1/4 cup heavy cream, as needed
22 whole peanuts
Place the bacon in a large, deep skillet, and cook over medium-high heat, turning occasionally, until evenly browned, about 10 minutes. Reserve 1/4 cup bacon grease and set aside to cool. Drain the bacon slices on a paper towel-lined plate. Chop the bacon.
Preheat an oven to 350 degrees F (175 degrees C). Line cupcake pans with paper liners.
Beat the crunchy peanut butter, bacon grease, and butter with an electric mixer in a large bowl until light and fluffy. Add the eggs one at a time, allowing each egg to blend into the peanut butter mixture before adding the next. Pour in the cake mix alternately with the water, mixing until just incorporated. Fold in 2/3 of the chopped bacon; mixing just enough to evenly combine. Pour the batter into prepared cupcake pan, about 2/3 full.
Bake in the preheated oven until a toothpick inserted into the center comes out clean, 20 to 25 minutes. Cool in the pans for 10 minutes before removing to cool completely on a wire rack.
To make frosting: Beat the creamy peanut butter and cream cheese together with an electric mixer until light fluffy. Gradually stir in the confections' sugar. Mix in enough heavy cream to thin out the frosting, if needed.
Spread the frosting over the cooled cupcakes. Sprinkle with the remaining 1/3 portion of chopped bacon, and top with a whole peanut.