Heat 1 tsp olive oil in a non-stick 10-inch skillet over medium-high heat. Once hot, add garlic and spinach and saute until spinach begins to wilt, about 30 seconds. Remove from heat, stir in basil and set aside. To assemble sandwich, spread Mozzarella and Feta cheese over one slice of bread into an even layer. Layer tomatoes in a single layer over cheese. Spread spinach mixture over tomatoes then sprinkle olives and red onions over tomatoes. Season with freshly ground black pepper and top with remaining slice of bread.
Spread 1 tsp olive oil evenly over skillet, add sandwich and heat over medium-low heat. Cook until bottom is golden brown, about 3 - 4 minutes, then remove sandwich from pan. Spread remaining 1 tsp olive oil evenly along skillet, carefully rotate sandwich to opposite side and return to pan over medium-low heat. Cover skillet with lid and cook until bottom is golden brown, about 2 - 3 minutes. Serve immediately.