Preheat the oven to 350°F (175°C) and line a 12-cup muffin pan with cupcake liners.
In a bowl, whisk together the flour, baking powder, baking soda, and salt.
In another bowl, beat the butter and sugar until light and fluffy (about 2–3 minutes).
Add the eggs one at a time, mixing well after each addition. Stir in the vanilla extract.
Alternate adding the dry ingredients and milk, mixing until just combined.
Fold in the strawberry puree and optional food coloring until evenly mixed.
Divide the batter evenly among the cupcake liners, filling each about ⅔ full.
Bake for 18–20 minutes, or until a toothpick inserted in the center comes out clean.
Let the cupcakes cool in the pan for 5 minutes, then transfer them to a wire rack to cool completely.
For the frosting, beat the butter until creamy. Gradually mix in the powdered sugar, then add the reduced strawberry puree and vanilla. Add heavy cream if needed for a smooth consistency.
Pipe or spread the frosting over the cooled cupcakes and garnish with fresh strawberries or sprinkles before serving.