Preheat the oven to 180°C (Gas mark 4/350°F). Line a 12 hole muffin tin with 12 cupcake cases.
Place the butter or dairy free spread into a mixing bowl and whisk together with the caster sugar until light and fluffy. Break the eggs into a bowl and lightly whisk with a fork. Add the eggs a little at a time to the butter and sugar mix, whisking in between.
Sift the flour on top, and using an electric whisk on a low speed, gently blend the ingredients together. Add the milk and vanilla extract and blend again. Increase the mixer speed and whisk for a few more seconds until well mixed.
Divide the cake mixture between the cupcake cases and smooth over the tops. Bake for 20-25 minutes until risen, golden and springy to the touch.
Meanwhile, make the buttercream icing. Whisk the butter with an electric whisk until light and fluffy. Sift in the icing sugar, a little at a time, until completely combined. Add the vanilla extract and whisk again. Add the milk in small splashes until the icing is at the correct consistency for piping.
Once the cakes are cooked, transfer to a wire rack to cool. Whilst the cakes are cooling, cut out your fondant pieces, ready to decorate the cakes.
Roll the yellow fondant out to around the thickness of a £1 coin. Using a round cookie cutter the same size as the top of your cupcakes, cut out 12 circles for the base of the toppers. Roll out a smaller and thinner piece of red fondant. Using a mini heart shaped cutter, cut out 24 hears - 2 for each topper.
Once the cakes are cool, pipe small flat swirl or spread buttercream over each one. Carefully place a yellow fondant circle on top, pressing gently around the edges to mould it to the top of the cake.
Brush the backs of the hearts with a dab of water, then gently press them onto the yellow circles for the heart eyes. Draw on the mouths with the black edible marker pen and fill them in.