1. Preheat the oven to 450°F. 2. Toss the asparagus with 1 tablespoon of the olive oil, 1 teaspoon of the salt, and 1/4 teaspoon of the pepper in a large mixing bowl. Stir in the garlic. Spread out the asparagus on a baking sheet. 3. In the same mixing bowl, toss the leeks with 2 tablespoons of the olive oil, 1 teaspoon of the salt, and 1/2 teaspoon of the pepper. Spread out the leeks on a separate baking sheet. 4. Put both baking sheets in the oven and roast the asparagus and leeks for 5 minutes. Remove the vegetables from the oven, turn once, and return to the oven for another 5 minutes, or until nicely browned. Remove from the oven and let cool for 5 minutes on the baking sheets. 5. Reduce the oven temperature to 350°F. 6. Chop the asparagus and leeks into 1-inch pieces. 7. Heat the remaining 1 tablespoon olive oil in a 10-inch ovenproof nonstick skillet over medium heat. Add the asparagus, leeks, and red onion and cook for 2 minutes. 8. Using a whisk or a fork, beat the eggs and cream with the remaining 1/2 teaspoon salt and the remaining 1/4 teaspoon pepper in a bowl until frothy. Pour the egg mixture over the asparagus and leeks. 9. Bake the frittata for 10 to 12 minutes, or until it is nicely set but not overly firm. Allow the frittata to stand for 5 minutes. Cut into wedges and serve.