Now, if we want to discuss going forward 10 years, well, with rates at 1.5%, bonds are not where I would place my heaviest bets to outperform stocks. But that is what their recent history has been. Indeed, since 1981, long-term government bonds have gained an average of 11.5% per year, handily besting equities. The S&P 500 index gained the 10.8% per year over the same period (1981-2011).
Have a look at the more recent chart above via Bianco Research. It shows the total return for Golds, Treasuries and Equities. Total returns include both dividends for equities and interest payments for bonds.
Bonds Beat Stocks: 1981-2011 (October 31st, 2011)
Say What? In 30-Year Race, Bonds Beat Stocks (Bloomberg)
Dogs talk! Bonds beat stocks! Dealing with the unexpected (USA Today)
Bonds Beat Stocks for the Last 30 Years—What Now? (US News)