Retailers reported their best June sales in more than a decade. Warm weather and discounts helped bring shoppers back to stores.
The number of Americans who applied for unemployment benefits fell to a seven-week low last week. Private companies added more than double the number of employees that economists expected last month.
The Dow is closing with a gain of 93 points, or 0.7 percent, to 12,719. The S&P 500 is up 14, or 1 percent, at 1,353. The Nasdaq composite is up 39, or 1.4 percent, at 2,873.
Four stocks rose for every one that fell on the New York Stock Exchange. Volume was average at 3.6 billion shares.