Investors ignored uncertainly about the $13 billion international bailout offered to Cyprus. Lawmakers in Cyprus overwhelmingly rejected the plan to tax bank deposits as part of the deal worked out in Brussels.
By close of trading, the Dow Jones industrial average added 55.91 points, or 0.39 percent, to 14,511.73.
The Nasdaq gained 25.09 points, or 0.78 percent, to 3,254.19.
The Standard and Poor's 500 added 10.37 points, or 0.67 percent, to 1,558.71.
On the New York Stock Exchange, 2,270 stocks advanced and 780 declined on a volume of 3.3 billion shares traded.
Ten-year U.S. treasury bonds fell 15/32 to yield 1.963 percent.
Against the dollar, the euro was at $1.2935 from Tuesday's $1.2883. Against the yen, the dollar was higher at 96 yen from 95.17 yen.
In London, the FTSE 100 index shed 0.13 percent, 8.62 points, to 6,432.70.