It may seem backwards, but the only real way to buy Bitcoins anonymously is to buy them in person using cash.
Check out: http://localbitcoins.com
But you can just buy them through somewhere like Coinbase, then use Bitcoin Fog to make them anonymous.
If you leave them in Bitcoin Fog for a couple of days / weeks, there is very little chance they'll be traced back to you.