Preheat oven to 350° F and link cupcake pan with paper liners. Spray paper liners with nonstick cooking spray, if desired, so cupcakes don't stick too much to the liners.
In the bowl of a stand mixer or using electric beaters, cream together butter and sugar. Beat in eggs, one at a time, then mix in vanilla and vinegar.
Add cocoa powder, flour, salt, soda, and mix gently (on low) to incorporate. Add milk and stir to combine.
Add blue food coloring, about 1 tsp to 1 Tbsp to get the desired blue color and stir to distribute color evenly.
Divide batter equally between 24 cupcake liners then bake at 350° F for 25-30 minutes until done and toothpick inserted in center comes out clean.
Remove from oven and let cool completely before frosting.
While cupcakes are cooling, beat together cream cheese, butter, vanilla and 4-5 cups powdered sugar. Beat until desired consistency is reach for frosting.
If frosting is not stiff enough, add powdered sugar, 1/2 cup at a time beating thoroughly between each addition, until desired stiffness is reached.