Preheat your oven to 375°F (190°C) and line a 15x10-inch jelly roll pan with parchment paper, allowing some overhang for easy removal.
In a medium bowl, whisk together the flour, baking powder, baking soda, cinnamon, ginger, nutmeg, and salt until well combined.
In a large bowl, beat the granulated sugar and eggs together until the mixture is light and fluffy, about 3-4 minutes.
Gradually add the dry ingredients to the egg mixture, mixing until just combined. Be careful not to overmix.
Fold in the grated carrots and walnuts, if using, until evenly distributed throughout the batter.
Spread the batter evenly in the prepared pan and bake for 12-15 minutes, or until the cake springs back when lightly touched.
Once baked, remove the cake from the oven and immediately dust the top with powdered sugar. Place a clean kitchen towel over the cake, and carefully invert it onto the towel.
Peel off the parchment paper and roll the cake up in the towel starting from the short end. Allow it to cool completely while rolled up.
While the cake cools, prepare the filling by beating the softened cream cheese, powdered sugar, and vanilla extract together until smooth and creamy.
Once the cake is completely cool, carefully unroll it and spread the cream cheese filling evenly over the surface.
Roll the cake back up without the towel, then wrap it in plastic wrap and refrigerate for at least 1 hour to set.
Before serving, dust the top with additional powdered sugar and slice into pieces.