Whisk olive oil, balsamic, lemon zest, juice, and garlic together in a large bowl. Add sliced mushrooms and marinate for at least 1 hour.
Melt butter in a skillet over medium-low heat; cook, stirring frequently, until browned and fragrant, 5 to 8 minutes. Drain mushrooms, reserving the marinade, and add to skillet. Cook until starting to soften, 2 to 3 minutes. Add spinach and 2 tablespoons marinade. Reduce heat to medium-low and saute for 20 minutes. Season with salt and pepper.