Prep the pan: Grease a 9x13-inch baking dish with butter or nonstick spray.
Preheat your oven to 350°F (175°C).
Slice the croissants: Cut each croissant in half lengthwise, like you’re opening a sandwich. Tear or cut into large chunks and spread evenly in the prepared dish.
Make the almond filling (frangipane): In a bowl, cream the softened butter with 1/2 cup granulated sugar until fluffy. Beat in 2 eggs, one at a time.
Add almond flour, 1 tablespoon all-purpose flour, 1 teaspoon almond extract, 1 teaspoon vanilla extract, and a pinch of salt. Mix until smooth.
Spread and tuck: Dollop the almond filling over and between the croissant pieces. Use a spatula to nudge some of it into the cracks so you get almond flavor throughout.
Whisk the custard: In a separate bowl, whisk the remaining 2 eggs, milk, cream, remaining 1/4 cup granulated sugar, 1 tablespoon all-purpose flour, 1 teaspoon vanilla extract, 1/2 teaspoon almond extract, and 1/2 teaspoon salt.
If using brown sugar, whisk it in now. Optional: add a teaspoon of orange zest for brightness.
Soak the bake: Slowly pour the custard over the croissants, pressing down lightly with the back of a spoon to help them absorb. Let it sit 10–15 minutes so the liquid distributes.
Add the crunch: Sprinkle sliced almonds evenly over the top.
For extra texture, lightly press them into the custard-soaked croissants.
Bake: Cover with foil and bake for 20 minutes. Remove the foil and bake another 20–25 minutes until puffed, golden, and set in the center. A knife inserted should come out mostly clean with a bit of moisture but not wet custard.
Finish and rest: Let the bake cool for 10 minutes.
Dust with powdered sugar before serving.
Serve: Enjoy warm as is, or add fresh berries, a spoon of crème fraîche, or a drizzle of warm apricot jam.