The Dow and S&P 500 turned higher late Wednesday afternoon, with the Dow rallying 1 percent as energy shares jumped with oil prices and financial shares cut losses to trade flat.
The Nasdaq stayed weaker but was well off the day's lows.
The S&P financial index .SPSY was down 0.01 percent, while the energy index .SPNY rose 3 percent, sharply extending gains after U.S. crude oil CLc1 ended up 8 percent on the day.
"The thing that's surprising me the most today is the sudden turnaround or push back up in oil. Of course it's bringing a lot of the energy stocks that are pretty beaten down with it," said Peter Tuz, president of Chase Investment Counsel in Charlottesville, Virginia.
Oil rose after investors took advantage of earlier weakness in prices and a drop in the U.S. dollar.
The S&P materials .SPLRCM was up 2.8 percent.
Earlier in the day, stocks fell after U.S. data showed the economy's service sector expanded at a slower-than-expected rate, raising concerns that weakness in manufacturing was spreading to other areas of the economy.
At 3:08 p.m., the Dow Jones industrial average .DJI was up 180.76 points, or 1.12 percent, at 16,334.3, the Standard & Poor's 500 .SPX had gained 9.49 points, or 0.5 percent, at 1,912.52 and the Nasdaq Composite index .IXIC had dropped 8.70 points, or 0.19 percent, to 4,508.25.
Advancing issues outnumbered declining ones on the NYSE by 1,830 to 1,173, for a 1.56-to-1 ratio on the upside; on the Nasdaq, 1,419 issues fell and 1,329 advanced for a 1.07-to-1 ratio favoring decliners.
The S&P 500 posted 21 new 52-week highs and 56 new lows; the Nasdaq recorded 15 new highs and 231 new lows.
(Additional reporting by Tanya Agrawal; and Abhiram Nandakumar; Editing by Savio D'Souza and Richard Chang)
This story has not been edited by Firstpost staff and is generated by auto-feed.