Crude prices rose more than 2 percent, after the International Energy Agency said oil prices might have bottomed as output in the United States and other non-OPEC countries was beginning to fall quickly.
All 10 major S&P sectors were higher, led by a 2.16 percent rise in energy. Shares of Chevron were up 1.8 percent at $95.65, while those of Exxon rose 1.2 percent to $83.12.
"It looks like we're going to close the week on a high note as people are rethinking Draghi's powerful stimulus program," said Peter Cardillo, chief market economist at First Standard Financial in New York.
All Dow components rose, with Goldman Sachs' 1.4 percent rise giving the biggest boost to the index.
At 9:36 a.m. ET (1436 GMT), the Dow Jones industrial average was up 151.55 points, or 0.89 percent, at 17,146.68, the S&P 500 was up 18.44 points, or 0.93 percent, at 2,008.01 and the Nasdaq Composite was up 45.32 points, or 0.97 percent, at 4,707.47.
The S&P 500 is down 2.7 percent for the year, recovering from a steep selloff at the start of the year that was sparked by a rout in oil.
More From This Section
Investors' attention now turns to the U.S. Federal Reserve, which is set to meet on March 15-16 to decide on interest rates.
The Fed has said it is on track to raise rates gradually this year, but its decision will hinge on the health of the economy. Recent data has shown the U.S. labor market remains strong, but wage growth remains a concern.
Anadarko rose 6.4 percent to $45.18 after Goldman Sachs raised its rating on the stock to "buy."
Symantec was up 3.8 percent at $18.38 after RBC raised its rating on the stock to "outperform."
Alnylam Pharmaceuticals was up 5.8 percent at $61.46 after JPMorgan upgraded the stock to overweight.
Advancing issues outnumbered decliners on the NYSE by 2,481 to 223. On the Nasdaq, 1,801 issues rose and 389 fell.
The S&P 500 index showed 31 new 52-week highs and one new low, while the Nasdaq recorded 44 new highs and 43 new lows.