Trains run several times per day to and from Melbourne's Southern Cross and Flinders St Station, via Sale and Tarragon. The trip takes approximately three and a half hours and costs around $26 each way.
Bairnsdale is situated on the Princes Hwy (A1) approximately 3.5 hours east of Melbourne. If you are following the coastal route between Melbourne and Sydney you will pass through the town. If you are heading to Bairnsdale and Gippsland from Sydney, the route through Canberra, the Monaro through to Cann River will save you time over the coastal route. A scenic (but much slower) diversion is through Delegate.
Bairnsdale has a good selection of restaurants and food places.