Preheat oven to 180°C (350°F) conventional (see note 1 if using a convection oven with a fan). Grease a 9x13-inch baking pan (I like to use my homemade cake release), then line the pan longways with parchment paper (this will make it easier to take the cake out when it's done). Set the pan aside. In a medium bowl, sift together flour, cornstarch, baking powder, and salt. Whisk until well combined, then set aside.
In a large mixing bowl, add butter, oil, sugar, and orange zest. Using a hand or stand mixer on medium speed, cream for 2 minutes until light and fluffy.
Add eggs one at a time, mixing on low speed and ensuring each egg is fully incorporated before adding the next.
Add in milk, orange juice, and vanilla, then mix on low speed until well combined. Scrape down your mixing attachments as the rest of the mixing will be done by hand.
Add the sifted dry ingredients from earlier to the wet mixture and use a spatula to gently fold until just combined. Be careful not to overmix (see note 2).
Toss the cranberries in flour to prevent them from sinking. Add the coated cranberries to the batter, discarding any excess flour, then fold gently into the batter until just combined.
Pour the batter into your prepared pan and spread it out evenly. Sprinkle white sugar over the top (this will create a thin, lightly caramelised crust as it bakes). Bake for 28–30 minutes, or until a toothpick inserted into the centre comes out clean or with a few moist crumbs.
Allow the cake to cool in the pan for about 20 minutes to firm up slightly. Run a thin knife along the edges without parchment, then place a wire rack on top and carefully flip the cake out.
Once cooled, invert the cake again onto your serving plate so it’s right side up. Slice and enjoy!