Preheat oven to 350°F. Coat an 8-by-8-inch baking pan with cooking spray and line with parchment paper, leaving a few inches of overhang on 2 sides.
Stir together flour, baking powder, salt, and 1 cup sugar in a large bowl until combined.
Whisk eggs, ricotta, butter, and vanilla in a separate large bowl.
Fold into flour mixture. Gently stir in 1 cup cranberries.
Spoon batter into prepared pan, spreading into an even layer.
Toss together remaining ½ cup cranberries and ¼ cup sugar and sprinkle over batter.
Bake until golden brown and a wooden pick inserted in center comes out clean, 1 hour to 1 hour 15 minutes.
Let cool on a wire rack for 20 minutes.