Preheat oven to 350°F (175°C). Grease two 9-inch round cake pans with butter or non-stick spray, line bottoms with parchment paper, and lightly dust with flour.
In a large bowl, whisk together flour, sugar, baking soda, salt, and cocoa powder for 30 seconds until evenly combined.
In a separate bowl, whisk eggs, oil, buttermilk, vanilla, and vinegar until smooth. Add purple gel food coloring starting with 1 teaspoon, then add more until desired deep purple shade is reached.
Pour wet ingredients into dry ingredients and stir with a spatula or mixer on low speed just until no dry streaks remain, about 30-45 seconds. Do not overmix.
Divide batter evenly between prepared pans. Bake on center rack for 28-32 minutes until a toothpick inserted in center comes out clean.
Cool cakes in pans for 10 minutes, then run a knife around edges and invert onto wire racks. Peel off parchment and cool completely for 1-1.5 hours.
Beat softened cream cheese and butter together for 2-3 minutes until smooth. Gradually add sifted powdered sugar in three additions, then add vanilla and salt. Beat until light and fluffy.
Place one cooled cake layer on a plate. Spread 1 cup of frosting evenly over the top. Place second layer on top and press gently.
Apply a thin crumb coat of frosting over entire cake. Refrigerate for 20 minutes to set. Then apply remaining frosting generously over top and sides, smoothing with an offset spatula.
Decorate with fresh berries, purple sprinkles, or as desired. Chill for 30 minutes before slicing for clean cuts.