From Manila there are buses going to Tabaco Port, Albay. Fare is 850php air-conditioned via Cagsawa Bus, their terminal is in Ali Mall. Travel time is around 12 hrs.
From Tabaco Port, ride a RORO going to San Andres, first trip is 7 am. Fare is 220php for non-air-conditioned. There is a terminal fee 30php. There is airconditioned, I just don't know the price but its much higher. Fastcraft is also available but not until 12nn.
As per my friend, it is advisable to take the San Andres port instead of Virac. Travel time via San Andres port is 2-3 hours whereas via Virac it will take up to 3-4 hours. Both depending on the waves of the sea. The RORO non-airconditioned has television and mini store.
There are jeepneys parked outside the pier that heads to Virac. Tell the driver where you are heading so they can drop you there. Fare is 20php. Travel time may take up to 20-30 minutes.
From Virac town proper ride a tricycle going to Virac port or just tell the driver to bring you to terminal going to Baras. Take this option only if you have plenty of time because the jeepney will not leave until it was full. There are other ways like renting a habal-habal or pedicab but is really costly. Best way is to go directly to Department of Tourism and ask for assistance.