Preheat oven to 350 degrees F. Grease and flour 3 (9-inch) round layer cake pans.
Sift flour, baking soda and coco together. Beat sugar and eggs together in a large bowl.
In a separate bowl mix together oil, vinegar, food coloring, and vanilla. Add to the bowl of eggs and sugar and beat until combined.
Add the flour mixture and the buttermilk to the wet mixture by alternating the buttermilk and dry ingredients. Always start with the flour and end with the flour.
Pour batter into pans. Tap them on the table to level out the batter and release air bubbles. Bake for 25 minutes or until a cake tester inserted near the middle comes out clean but be careful not to over bake or you'll end up with a dry cake.
Let layers cool on a wire rack for about 10 minutes before turning out of pan. Cool completely before frosting.
For the cream cheese frosting:
This is the "official" cream cheese frosting recipe but we always use about 1 1/2 recipes on each cake to cover it well.
Let margarine and cream cheese soften to room temperature. Cream well. Add sugar and beat until mixed but not so much that the frosting becomes "loose". Add vanilla and nuts. Spread between layers and on top and sides of cake.