The leak occurred early Wednesday as the offshore buoy's pressure gauge was broken but the source of the leak was sealed, the Ulsan Coast Guard said in a statement.
The exact leaked volume is not yet known, but there was no damage to nearby fish farms, the coast guard said.
The oil slick was hundreds of metres long and 150-200 metres (218.72 yards) wide, according to South Korea's Yonhap News agency.
S-Oil is looking into details of the leak, a spokesman said.
S-Oil, whose top shareholder is Saudi Aramco, runs a 669,000 barrels per day refinery in the southeastern city of Ulsan.