Preheat a skillet over high heat. Add half of the oil and sauté the onion for about 6 minutes, until soft. Add the balsamic vinegar and sauté for another 5 minutes. Remove from the pan.
In the same pan, add the other half of the oil and cook the zucchini until browned and soft, adding the garlic halfway through.
In a large bowl, whisk together the eggs, thyme, lemon zest, and milk. Season with salt and pepper.
In an ovenproof skillet, combine the zucchini and onions. Pour the egg mixture on top and then crumble the goat cheese over the whole dish.
Gently place the zucchini flowers on top, if using, and bake the frittata for about 30 minutes, until set and golden brown. Take out of the oven, sprinkle on some more thyme, and serve with a salad and/or bread.