Start by peeling and slicing your fresh peaches into even wedges. I like to keep the slices about 1/2 inch thick so they hold their shape during baking. Toss them gently in a bowl with granulated sugar, brown sugar, cornstarch, vanilla, cinnamon, and salt until evenly coated.
Transfer the peach mixture into your greased baking dish and spread it evenly. As it bakes, the sugar will draw out the juices, and the cornstarch will thicken everything into a luscious filling. This step ensures every bite is sweet and perfectly balanced.
In a separate bowl, combine the oats, flour, brown sugar, cinnamon, and salt. Add the cold, cubed butter and use a pastry cutter or fork to mix until the mixture resembles coarse crumbs. Cold butter is key here — it creates that flaky, crumbly texture.
Make sure the topping isn’t overmixed; you want visible small chunks of butter throughout. These melt during baking and create those irresistible crispy clusters on top.
Sprinkle the topping evenly over the peach filling, covering the fruit completely. Place the baking dish in a preheated 350°F (175°C) oven. Bake for about 35–40 minutes until the top is golden brown and the filling is bubbling around the edges.
If the topping browns too quickly, loosely cover it with foil during the last 10 minutes. Once baked, let it cool for at least 10–15 minutes before serving so the filling can set slightly.