Preheat the oven to 350 degrees F place the rack in the middle of the oven.
Grease 3 8-inch round cake pans with oil or vegan butter. Place a round of parchment paper on the bottom for easy removal later.
In a large bowl, combine the soy milk and apple cider vinegar. Give it a little stir, then let sit for 1 minute to curdle. Now add the sugar, yogurt, melted vegan butter, vanilla and almond extracts and whisk well to combine.
In a food processor, add the pistachios and process until fine and crumbly, but don't let it get pasty like pistachio butter!
To the wet ingredients, add the pistachio crumbs, cake flour, baking powder and salt. Stir with a large spoon until combined, but don't over mix the batter. If desired, mix in a few drops of green food coloring.
Divide the batter evenly into the pans and bake in the center rack of the oven for 30-35 minutes, or until a toothpick inserted comes out clean.
Let the cakes cool for 15 minutes in the pans, then carefully transfer to a cooling rack to cool completely before frosting.
In the bowl of a stand mixer with a paddle attachment or a large bowl with a handheld mixer, beat the butter until smooth, about 2 minutes.
Add the pistachio butter and 1 cup of the powdered sugar and mix on low speed. Continue adding a cup of powdered sugar at a time until it's all mixed in.
Add the cream (or milk) and vanilla extract. Beat on medium speed for 3-4 minutes, until everything is well combined and smooth.
If the frosting seems too thick, add a little more cream. If it's too thin, add more powdered sugar.
Place one cake layer on a cake stand and frost, followed by the next two layers. Finally, frost the top and sides of the cake and decorate, as desired with chopped pistachios.
