Firstly you can book this with Anastasia and they could be cheaper than DCL. or add it on to a day trip with them.
2 from $156pp,
4 from $134pp
and lower the more people you have. http://anastasia.travel/en/day-tours-other
It depends on the night. We will be in St. Petersburg on June 16th. That night, the Mariinsky Theatre has an opera: "Betrothal in a Monastery." Our tour company has arranged to take us there. Our cost is about $130 for four tickets to the opera.
We did the Disney excursion to the ballet. The air conditioned buses were comfortable, and we had a mini-tour of the city on the way to the theater. During intermission, a small reception was provided for us. We saw Swan Lake and it was fantastic.
Something to consider if you go on a DCL tour during the day and then also go to the ballet you of course are travelling to / from the port to the city twice, that's about 20 mins each way a loss of at least 40 mins then having meet up time on the ship for the excursions. Your time to eat will be very limited you will miss MDR service. You will have to have room service or eat at deck 9 snack places.
GET UP TO A $1000 SHIPBOARD CREDIT AND AN EXCLUSIVE GIFT!
If you make your Disney Cruise Line reservation with Dreams Unlimited Travel you’ll receive these incredible shipboard credits to spend on your cruise!