The airline told MailOnline Travel: "Both engines experienced a temporary loss of power, although one engine returned to normal operations almost immediately.
"The pilots followed operational procedures to restore normal operation of the second engine by putting the aircraft into a controlled descent, before climbing again.
"The flight continued normally to Shanghai and touched down uneventfully at 10:56pm local time."
Singapore Airlines said no 'anomalies' were detected in either of the engines when they were "thoroughly inspected and tested" upon arrival in Shanghai, and that it is investigating the incident with Rolls-Royce and Airbus.
Data from FlightRadar24.com and a report in the Aviation Herald revealed the plane was cruising at 39,000ft over the South China Sea, about 162 miles from Hong Kong, when it ran into trouble.
The jet dropped to 26,000ft before power was restored, and climbed back to 31,200ft before it made its normal descent and landed safely in Shanghai about one hour and 40 minutes later, the report said.
The plane later took off to return to Singapore after a two-hour delay, the Aviation Herald reported.
The Air Accident Investigation Bureau of Singapore said it has been informed and is taking the lead on the investigation.
A spokesperson told Channel News Asia: "As the occurrence happened in international waters the AAIB will be the authority for investigating this incident.
"The AAIB is in the midst of gathering information and flight data from the operator."
A pilot told Reuters it is extremely rare for a plane to lose power in both engines, but flight crews are trained to handle such an incident.
An unidentified pilot with a Southeast Asian airline told the news agency: "We do occasionally lose power in one engine for various reasons, but you hardly ever lose both engines.
"If that happens, you follow the procedures in your check-list and try to restart the engines. The pilots successfully did that here."
The fact that the plane did not divert and continued to Shanghai suggests it may not have been a "very serious incident", the pilot added.
Singapore Airlines is Asia's third largest carrier by market value and currently has 30 Airbus A330-300s in its fleet and four more on order. Each plane has a passenger capacity of 285.
Last week Airbus warned of a technical bug potentially affecting the engines of its A400M military planes.
The technical bug was discovered during an internal test after one crashed in Spain, leaving four people dead.