Preheat the oven to 350°. Spray a 13-by-9-inch pan with nonstick spray.
Make the green cake: In a medium bowl, stir together the flour, salt, baking powder and baking soda. Set aside.
In the bowl of a stand mixer, beat the butter and sugar until light and fluffy. Scrape down the sides and add the oil and vanilla extract, mixing to combine. Add the eggs one at a time, mixing well and scraping down the sides after each one.
Add half of the flour mixture and mix on low speed until incorporated, then stir in ¼ cup of the buttermilk. Repeat to use the remaining flour mixture and buttermilk.
Add the green food coloring as desired and stir to incorporate. Pour the batter into the prepared pan and bake for 25 to 30 minutes, or until the top springs back when gently pressed.
Let the green cake cool completely and refrigerate it until it feels firm to the touch, 2 to 3 hours. Once it's chilled, use a shamrock cookie cutter to cut out shaped cake pieces.
Make the white cake: Spray a 9-by-5-inch loaf pan with nonstick spray. In a medium bowl, stir together the flour, salt, baking powder and baking soda. Set aside.
In the bowl of a stand mixer, beat the butter and the sugar until light and fluffy. Scrape down the sides and add the oil and vanilla extract, mixing to combine. Add the eggs one at a time, mixing well and scraping down the sides after each one.
Add half of the flour mixture and mix on low speed until incorporated, then stir in ¼ cup of the buttermilk. Repeat to use the remaining flour mixture and buttermilk.
Pour a layer of white batter on the bottom of the loaf pan, about ½ inch deep. Place the shamrock cake pieces in a row along the batter, making sure to align them all the same way.
Carefully pour the remaining white batter over the shamrocks, using a spoon to get at the hard-to-reach places.
Bake the cake for 1 hour, until the top is brown and a toothpick comes out clean. Let the cake cool in the loaf pan for 15 minutes, then invert onto a wire rack and let it cool completely before slicing and serving.