From Phnom Penh, there's a daily Sorya Transport (T: (023) 210 359, (023) 210 859) bus that leaves at 07:00 from its station in Central Market and costs $11. Several minivans and minibus companies make daily trips on this route, some of which continue on to either Banlung or the Lao border. The journey should take nine hours, but could take longer (our last trip took 11 hours).
If you're travelling from Siem Reap, you will have to first take a bus to Kompong Cham or Suong, then transfer there to Stung Treng. It's possible to buy a through ticket, but cheaper and faster if you pick up a minibus at the Mekong Express bus stop in Kompong Cham (bargaining with the driver there). Since all the big buses from Phnom Penh headed to the northeast pass through Kompong Cham earlier in the morning, minibus will probably be your only option, unless you return to Phnom Penh from Siem Reap, overnight there and then make the journey to Stung Treng the next morning.
From the 4,000 Islands in Laos, a through ticket to Stung Treng costs $11.
Bus tickets from Banlung to Stung Treng can be booked at most guesthouses and cost $6.
If you're headed to Phnom Penh from Stung Treng, several daily buses pass through town, transferring passengers on the Laos-to-Phnom Penh journey, and you can get a ride on any number of them. The minibuses on this route tend to be more overpacked than even the typically overpacked Cambodian minibus, so we recommend trying to find a seat on one of the big buses, which head south usually until about 16:00. Tickets should cost $10 and can be booked at Riverside Guesthouse, where most of the buses stop to transfer passengers.
There's no regular boat service in Stung Treng, but private local journeys can be arranged at Riverside Guesthouse. We were quoted $200 for a boat to Kratie.