Preheat oven to 425ºF. Warm oil in a 10-inch nonstick skillet over medium-high heat. Add onion and zucchini; cook for 2 minutes, stirring. Add garlic, tomato and spinach and cook 2 minutes longer, stirring, until spinach wilts. Season with salt and pepper. Toss in spaghetti and mix thoroughly so vegetables and pasta are evenly distributed.
Whisk milk, 1 tsp. salt and 1/2 tsp. pepper with eggs. Pour into skillet and swirl to coat vegetables and spaghetti with mixture. Cook 1 minute, stirring just until eggs begin to set on bottom. Sprinkle cheeses on top and place skillet in oven. Bake until eggs have set in center, 10 to 12 minutes. Preheat broiler to high and set a rack 4 inches from heat. Broil frittata until golden brown on top, 1 to 2 minutes, watching carefully to prevent it from burning. Sprinkle frittata with basil. Cut into 4 wedges and serve.