Heat the oven to 375°F. Lightly grease a 9x13-inch baking dish.
Heat the olive oil in a large skillet over medium heat. Cook the onion 4 minutes, until soft. Add the spinach and cook 2 minutes, until wilted; press out excess liquid.
Whisk the eggs, milk, garlic powder, salt and pepper in a large bowl until smooth.
Spread the bread cubes in the dish. Scatter the spinach mixture and sun-dried tomatoes over the bread, then half the feta. Pour the egg mixture over the top and press gently so the bread soaks. Crumble the remaining feta over the top.
Bake 35-40 minutes, until the center is set and the edges are golden. Let stand 5 minutes, then serve.
Make-ahead: assemble through step 4, cover and refrigerate up to 24 hours. Bake straight from the fridge, adding 10 minutes.