Cook bacon in a large nonstick skillet over medium heat until very crisp. Remove bacon from pan, reserving 2 tablespoons drippings in pan. Crumble bacon; set aside.
Add onion to reserved drippings; cook over medium-high heat 6 minutes or until tender and golden. Reduce heat to medium-low, and swirl in butter until melted; remove pan from heat.
Squeeze excess moisture from potatoes. Stir in potatoes, soup, and remaining ingredients. Spoon into a greased 13" x 9" baking dish.
Bake, covered, at 350° for 45 minutes. Uncover and sprinkle with crumbled bacon. Bake 15 more minutes or until browned on top. Let stand 10 minutes before serving.
Make breakfast a breeze by preparing this casserole the day before. Simply spoon potato mixture into a dish, cover, and chill overnight. Next morning, place casserole directly into the oven, and add 15 minutes to the initial bake time.