Preheat the oven to 350 degrees.
In a 10-inch ovenproof omelet pan, cook the bacon over medium heat for 3 to 5 minutes, stirring occasionally, until the bacon is browned but not crisp. Take the bacon out of the pan with a slotted spoon and set aside on a plate. Reserve 2 Tbsp. bacon grease in the pan; discard the rest (if there is any). TIP: I’ll use a paper towel to soak up any grease I do not want.
Place the potatoes in the pan and cook over medium-low heat for 6 minutes, stirring continuously. Add the asparagus and cook another 3-4 minutes, until very tender and browned. If the pan seems dry, add an additional 1 Tbsp. of butter while cooking. Salt and pepper to taste.
Remove the asparagus and potato mixture with a slotted spoon to the same plate with the bacon.
Meanwhile, in a medium bowl, beat the eggs, water, 1/2 teaspoon salt, and 1/4 teaspoon pepper together with a fork. Add the butter, lower the heat to low, and pour the eggs into the hot pan. Sprinkle the bacon, potatoes and asparagus mixture, and green onions evenly over the top. Place the pan in the oven for 8 minutes and bake, just until the eggs are set.
Very easy to serve hot, right in the pan!