The 87-year-old Briton - one of the greatest drivers never to win the Formula 1 world title - is "in good spirits", a family statement said.
He was admitted to hospital with a serious infection on 22 December.
Four times a runner-up in the F1 drivers' championship, Moss was BBC Sports Personality of the Year in 1961.
The family statement said he suffered complications from the infection, but his condition was continuing to improve and he was upset about missing a Christmas cruise with friends.
His wife Lady Moss said the Singapore hospital was "second to none" and she could not wish for better care.
"Once he is discharged from the hospital, it is Sir Stirling and Lady Moss' hope to stay in Singapore to enjoy a few days recuperating at a lovely hotel, being thoroughly spoilt, whilst lying in the sun by a gorgeous swimming pool," the statement added.
Moss won 16 of the 66 F1 races he competed in from 1951 to 1961.
He became the first British driver to win a home grand prix in 1955 at Aintree, but was regarded as a motor-racing all-rounder and racked up a total of 212 victories in all competitions.
He was an outstanding rally driver and in 1955 set a new course record in winning the famous Mille Miglia, a 1,000-mile race around Italy.
Moss was effectively forced to retire in 1962 following a crash at Goodwood which put him in a coma, although he continued to race in historic cars and legends events until the age of 81.
Media playback is not supported on this device
Motor racing legend Sir Stirling Moss is described as "stable" in hospital in Singapore after being admitted with a serious chest infection.