Preheat oven to 350°F. Grease two 8-inch round cake pans and line with parchment paper.
In a bowl, whisk flour, baking powder, baking soda, and salt. Set aside.
Cream butter and sugar until light and fluffy.
Add eggs one at a time, mixing well. Stir in vanilla extract.
Mix in sour cream until smooth.
Add dry ingredients alternately with milk, mixing just until combined.
Divide batter evenly into two bowls.
Mix cocoa powder and red gel food coloring into one portion.
Pour batters into prepared pans and bake for 25–30 minutes, until a toothpick comes out clean.
Cool completely before cutting heart shapes and assembling layers.
Beat frosting ingredients until smooth and fluffy.
Assemble cake with alternating heart layers and frost evenly.