Preheat the oven to 350 degrees F. Spray a 9x13-inch pan with nonstick cooking spray and set aside.
In a small skillet, heat the olive oil over medium high heat. Add the onion and cook until tender, about 2 minutes. Add the garlic and cook for an additional 2 minutes. Remove from the heat.
In a large bowl, whisk together the eggs. Whisk in the milk. Stir in the onion and garlic.
Stir in 1 cup of the shredded mozzarella cheese, the tomatoes, basil, salt, and pepper.
Pour the egg mixture into the prepared pan. Space out the tomatoes and basil, if necessary. Sprinkle the remaining 1/2 cup shredded cheese over the top of the casserole.
Place the pan in the oven and bake for 45 to 60 minutes, or until the until the eggs are firm and the top is slightly golden brown. Let stand for 10 minutes before cutting. Cut into squares and serve warm. Season with additional salt and pepper, if necessary.