Preheat the oven to 350°F (180°C)
Sift the flour into a mixing bowl and add the sugar, baking soda and salt.
Then add the soy milk, vanilla, peppermint, oil and vinegar and using a hand whisk, whisk it up briefly to remove any big lumps (tiny lumps are fine!). Don't overmix.
Line a cupcake tray with cupcake liners and divide the batter evenly between them.
Bake for 20 minutes or until a toothpick inserted into the center of one of the cupcakes comes out clean.
Transfer the cupcakes to a wire cooling rack and allow to cool completely before frosting.
Add the vegan butter, powdered sugar, peppermint extract and soy milk to the bowl of an electric mixer and beginning on low speed, gradually increase speed until the frosting is thick and smooth.
Divide the frosting into two bowls. Add a few drops of pink or red food coloring to one of the bowls and mix it in to get a nice pink color.
Then add roughly equal amounts of each color frosting on either side of a piping bag or syringe and pipe the frosting onto the cupcakes, getting the pink swirl.
Top with crushed candy canes.