Stocks rose on Monday, recovering losses from earlier in the session as oil dipped despite rising geopolitical worries following last week's U.S. killing of Iran's top general.

The Dow Jones Industrial Average ended the day up 68.50 points, or 0.2% at 28,703.38 after falling 216 points earlier in the day. The S&P 500 closed 0.4% higher at 3,246.28 while the Nasdaq Composite advanced 0.6% to 9,071.46.