You'll want to do Train / Bus / Train. It's fairly easy!
Starting from London, there are normally two direct trains per hour to Salisbury. Journey time is about 1.5 hours, and trains go from London Waterloo station. Without a railcard, it's currently £36.20 for an off-peak single, but something like a Network Railcard would take a third off that.
From Salisbury to Bristol, there's roughly one direct train every hour. Costs about £20 (depending on which bit of Bristol you want), and takes just over an hour.
Interestingly, a ticket from London to Bristol via Salisbury is £30.60 for a Super Off Peak train, or £37.60 for an Anytime ticket, which is almost the same price as just the London to Salisbury leg! So, you can save a fare bit by buying a through ticket. Either do that online with a "Via: Salisbury", or ask at the ticket office. (You can break your journey on a single, so that's fine)
The only slightly fiddly bit is getting from Salisbury station out to Stonehenge and back. It's about 10 miles, so too far to walk.
If there's a few of you, I'd suggest you just pre-book a local minicab, and pay them to wait. It shouldn't be too much, and will make it very easy. Plan on about 20 minutes each way driving, because traffic can be bad escaping from the centre of Salisbury!
Otherwise, if there's only one or two, a local bus may work out OK, though with less flexibility. There are a few different buses on/near that route, your best bet is to use TravelLine South East to search.
There are also some tour buses that run between Salisbury and Stonehenge. They're generally about the £25 mark, but that includes entrance to Stonehenge, the Cathedral in Salisbury etc, and I believe a guide on the bus. Might be worth looking into. (I think you can also book just the bus journey with these, for about £15, but I can't find anything authoritative on that).
Salisbury is a very nice city, so plan to spend a bit of time there after visiting Stonehenge, don't just dash straight off to Bristol!