Mix balsamic vinegar, olive oil, garlic, salt, and pepper in a small bowl.
Place mushrooms in a large bowl with onion. Pour balsamic mixture over top; stir gently until well coated. Cover and place in the refrigerator to marinate for 6 to 8 hours, stirring once or twice during that time.