Preheat oven to 350°F (177°C). Grease a 9×13-inch baking pan.
Whisk the dry ingredients together. In a separate bowl, whisk the oil, eggs, sugars, pumpkin, and vanilla until combined. Add the wet ingredients to the dry ingredients and mix until smooth. The batter will be thick.
Spread the batter evenly in the pan. Bake for 30–36 minutes, or until a toothpick inserted in the center comes out clean. If the top or edges brown too quickly, loosely cover with foil.
Cool the cake completely on a wire rack. Refrigerate after about 45 minutes to speed up cooling, if desired.
Make the frosting: Beat the cream cheese and butter until smooth. Add 3 cups confectioners’ sugar, vanilla, and salt. Beat on low for 30 seconds, then on high for 2 minutes. Add the remaining 1/4 cup sugar for a thicker frosting, if desired. Spread over the cooled cake and refrigerate for 30 minutes before serving.
Cover leftover cake tightly and refrigerate for up to 5 days.