In a large skillet over medium high heat, cook sliced onions in 2 tablespoons of the olive oil, stirring occasionally, until onions are golden brown and caramelized. Set aside.
In a large mixing bowl, toss sliced potatoes with ¼ cup of olive oil. Season with salt and pepper. Arrange potatoes in a single layer on a cookie sheet and bake until browned and crusty, about 30 to 35 minutes, turning potatoes after15 minutes to ensure even browning. Remove from oven.
In large oven-proof skillet over medium-high heat, heat 2 tablespoons of the olive oil. Add the peeled asparagus and cook stirring until asparagus just begins to brown, about 2 to 3 minutes. Add butter and continue to cook until asparagus is just tender. Season with salt and pepper. Add roasted potatoes and onions to skillet and cook until all ingredients are hot, adding another tablespoon or two of olive oil if necessary.
In a small mixing bowl, beat the eggs, milk and cheese together.
Pour egg mixture into the skillet. As the eggs begin to set, use a rubber heat-proof spatula to lift the outside edges so uncooked egg can get to bottom of pan. When mixture begins to set at edges, place pan in upper third of oven and bake about 20 minutes or until frittata becomes very puffed and golden brown. Cut into wedges to serve.
Nutritional Analysis per serving: 472 calories, 16 g protein, 33 g fat (62% calories from fat), 30 g carbohydrates, 268 mg cholesterol, 4 g fiber, 281 mg sodium.