In a saucepan cook onion in butter over medium heat until tender, stirring occasionally. Stir in flour, 1/2 teaspoon salt, and 1/2 teaspoon pepper. Stir in the milk. Cook and stir until mixture is slightly thickened and bubbly. Stir in cheese until melted.
In a 3-quart baking dish place potatoes. Top with cheese sauce. Bake, covered, for 55 minutes or until tender.
In a large skillet cook broccoli in hot oil over medium heat for 5 minutes or until nearly tender, stirring often. In bowl beat eggs, water, 1/2 teaspoon salt, and 1/4 teaspoon pepper. Pour over broccoli in skillet. Cook over medium heat, without stirring, until mixture begins to set. Using a spatula, lift and fold partially cooked egg so uncooked portion flows underneath. Cook 2 minutes more or until egg is cooked but still moist. Spoon over potatoes. Top with bacon and tomatoes. Serve immediately.