Preheat and prep: Heat the oven to 350°F (175°C).
Line a 12-cup muffin tin with paper liners.
Mix dry ingredients: In a large bowl, whisk flour, sugar, baking powder, baking soda, and salt until combined.
Mix wet ingredients: In another bowl, whisk melted butter, eggs, milk, sour cream, and vanilla until smooth.
Combine batter: Pour the wet mixture into the dry ingredients. Stir gently until just combined. Do not overmix; a few small lumps are fine.
Fill and bake: Divide batter evenly among liners, about 2/3 full. Bake 16–19 minutes, until a toothpick comes out clean or with a few moist crumbs.
Cool in the pan 5 minutes, then transfer to a rack to cool completely.
Make the pudding: Whisk instant pudding mix with cold milk for 2 minutes. Let thicken in the fridge for 5–10 minutes. Fold in diced banana and crushed wafers, if using.
Core the cupcakes: Once cupcakes are cool, use a small paring knife or cupcake corer to remove a 1-inch plug from the center of each.
Don’t cut through the bottom. Save the plugs.
Fill: Spoon or pipe banana pudding into each cavity until slightly mounded. Trim the saved cupcake plugs and gently place a thin piece back on top to seal.
Whip the topping: Beat heavy cream, powdered sugar, and vanilla until medium-stiff peaks form. Don’t overbeat or it will turn grainy.
Top and garnish: Pipe or dollop whipped cream over each cupcake.
Add a slice of banana and a sprinkle of crushed wafers right before serving.
Chill briefly (optional): For the best set and flavor, chill the filled and topped cupcakes for 30–60 minutes before serving.