By plane... and only by plane to Sofia airport. Traveling by train is cheap, but it's slow. For about the same price you can catch a bus. Taxi is cheap if you call a Taxi company (you can find a telephone of such a company, written on taxis)
I just found out about this great site that has timetables of buses and trains from all over bulgaria. If you want to know what trains are there from varna to sofia for example this is the place to go. The website also gives directions how to get from the train station to the bus station within the same city if you need to transfer. Your search brings back also a map-showing the route with most of the stopovers. The english version is well developed as well.