The benchmark 30-share Sensex rose 308.23 points to 18,518.81, ending its longest losing streak in a decade.