The S&P/TSX composite index ended the day 179.49 points at 12,270.43 — a gain of 1.5 per cent.
Data from the TSX showed that almost 80 per cent of TSX-listed listed stocks rose, with the materials, technology and energy sectors leading the way.
Oil futures jumped $2.25 to settle at $91.43 US a barrel following the release of storage inventory figures that were lower than expected. Crude also gained amid growing speculation that the European Central Bank might cut interest rates.
Cenovus Energy rose 61 cents to close at $29.36 as it reported higher first-quarter profits and cash flow.
Gold futures rallied by $14.80 US an ounce to settle at $1,423.40. Barrick Gold shares surged $1.37 to $19.38, up 7.6 per cent, as it reported better than expected earnings.
Shares of CP Rail ended $1.50 lower at $124.73 despite reporting a record first quarter and an improved operating ratio, a key measure of efficiency.
U.S. markets mixed
U.S. markets were mixed. The Dow Jones industrial average shed 43.16 points to close at 14,676.30 as a disappointing durable goods report weighed on the big board, along with a weak earnings report from AT&T and a soft profit forecast from Procter & Gamble.
The broader S&P 500 index ended the day virtually unchanged at 1,578.79.
The Nasdaq composite index finished marginally higher at 3269.65.
Apple shares slipped 67 cents to close at $405.46 after reporting earnings and revenue numbers that narrowly beat estimates. But the company also said revenue for the current quarter could fall from the year before and Apple CEO Tim Cook also suggested the company won't release any new products until the fall. More than 20 analysts cut their price targets on Apple shares.
The Canadian dollar gained 0.05 cents to close at 97.50 cents US.