An upbeat consumer confidence report lifted US stocks Friday as concerns about the looming "fiscal cliff" at year-end continued to grip Wall Street.
After opening mostly lower, the stock indices crossed into positive territory after the University of Michigan's consumer sentiment data for November.
Consumer confidence rose more than expected and hit the highest level since July 2007.
"That's good news for consumer spending and economic growth," said Jennifer Lee at BMO Capital Markets.
The Dow Jones Industrial Average was up 26.46 points (0.21 percent) at 12,837.78 by 1545 GMT.
The S&P 500-stock index gained 7.12 (0.52 percent) at 1,384.63, while the tech-rich Nasdaq Composite rose 18.59 (0.64 percent) to 2,914.17.
Traders awaited President Barack Obama's first major post-election statement, at 1:05 pm (1805 GMT), in which he is expected to lay out his plan to avert the automatic spending cuts and tax increases that could drive the economy back into recession.
"Concerns about the prospect of a fiscal cliff compromise and renewed worries about a eurozone breakup, which are rooted in brinkmanship over additional aid for Greece, continue to weigh heavily on sentiment," said Patrick O'Hare at Briefing.com.
"The fiscal cliff factor, though, is superseding all else as a major market driver."
Stocks have taken a beating in the past two days: the Dow shed 3.3 percent, the S&P 500 3.6 percent and the Nasdaq 3.9 percent.
Rebounding Boeing led the Dow higher Friday, up 1.4 percent, and Alcoa gained 1.4 percent.
Dow member Disney was the blue-chip laggard. The entertainment giant plunged 6.4 percent after reporting fiscal fourth-quarter sales that missed estimates.
On the Nasdaq, Apple surged 2.2 percent.
Priceline fell 0.9 percent after agreeing to buy rival travel website Kayak in a stock-and-cash deal worth $1.8 billion. Kayak surged 27.1 percent.
Online discount deal broker Groupon plummeted 26.5 percent after reporting a quarterly loss of $3 million instead of a small profit expected by Wall Street.
Bond prices were flat. The 10-year US Treasury yield was unchanged from 1.63 percent late Thursday, and the 30-year held steady at 2.77 percent. Bond prices and yields move inversely.