Preheat the oven to 425°F. Line a large baking sheet with aluminum foil. Keeping them separate on the baking sheet, toss the asparagus and tomatoes in olive oil. Season with salt and pepper.
Roast for 10 to 15 minutes, until asparagus is tender and lightly brown. Remove the asparagus, and set aside. Sprinkle the tomatoes with a pinch of crushed red pepper flakes if using, and continue roasting them until collapsed and lightly browned, about 15 more minutes. Remove and set aside, also reserving any flavorful oil from the tomatoes.
Set aside 12 to 14 asparagus tips for topping. Transfer the remaining asparagus to a blender or small food processor and puree until mostly smooth.
Coat a 9-by-9-inch baking dish with olive oil, then dust it with 2 tablespoons of the Parmigiano-Reggiano and set aside.
In a large bowl, whisk the egg yolks about 30 seconds, then stir in the ricotta, sour cream, 1 cup of the Parmigiano, asparagus puree, and salt and pepper to taste.
In a separate large bowl, use a mixer to beat the egg whites and 1 teaspoon of potato starch until stiff.
Gently fold the egg whites into the ricotta mixture until just a few white streaks remain. Transfer to the prepared baking dish, smoothing the top. Top with reserved asparagus tips and tomatoes, drizzling a few drops of any oil from the tomatoes onto the top, and sprinkle with more freshly ground black pepper and remaining Parmigiano.
Bake until top is golden brown and the custard has set, 20 to 30 minutes (about 180 to 185°F). Remove and let rest about 15 minutes before serving warm.