Preheat your oven to 350°F (175°C). Grease and flour two 9-inch round cake pans.
In a large mixing bowl, whisk together the flour, sugar, baking soda, baking powder, and salt until well combined.
In another bowl, mix the vegetable oil, buttermilk, eggs, blue food coloring, vanilla extract, almond extract, and vinegar. Stir until smooth.
Gradually add the wet ingredients to the dry ingredients, mixing until just combined. Do not overmix.
Divide the batter evenly between the prepared cake pans. Bake for 25-30 minutes, or until a toothpick inserted into the center comes out clean.
Allow the cakes to cool in the pans for 10 minutes, then turn them out onto wire racks to cool completely.
While the cakes are cooling, prepare the cream cheese frosting. In a large bowl, beat the softened cream cheese and butter together until smooth and creamy.
Gradually add the powdered sugar, mixing until well combined. Add the vanilla extract and mix until smooth. If the frosting is too thick, add milk one tablespoon at a time until you reach your desired consistency.
Once the cakes are completely cool, place one layer on a serving plate. Spread a generous amount of cream cheese frosting on top. Place the second layer on top and frost the top and sides of the cake.
Chill the cake for about 30 minutes before serving to set the frosting.