Preheat and prep: Heat your oven to 350°F (175°C). Lightly butter a 9-inch square baking dish or similar 2-quart baking dish.
Make the peach filling: In a large bowl, combine peaches, granulated sugar, cornstarch, lemon juice, lemon zest (if using), 1/2 teaspoon cinnamon, and vanilla. Toss gently until the peaches are coated and glossy.
Spread the fruit: Pour the peach mixture into the prepared baking dish, scraping in every bit of juice.
Mix the crisp topping: In another bowl, stir oats, flour, brown sugar, remaining 1/2 teaspoon cinnamon, and salt.
Add melted butter and mix with a fork until evenly moistened and crumbly. Stir in nuts if using.
Top and bake: Sprinkle the topping evenly over the peaches. Bake for 35–45 minutes, until the fruit is bubbling around the edges and the topping is deeply golden and crisp.
Cool slightly: Let it rest for 10–15 minutes so the juices thicken.
Serve warm with ice cream.