The alignment of Saturn’s magnetic pole with its rotation axis precludes the use of magnetic field measurements to determine its rotation period. The period was previously determined from radio measurements by the Voyager spacecraft to be 10 h 39 min 22.4 s (ref. 2). When the Cassini spacecraft measured a period of 10 h 47 min 6 s, which was additionally found to change between sequential measurements, it became clear that the radio period could not be used to determine the bulk planetary rotation period. Estimates based upon Saturn’s measured wind fields have increased the uncertainty even more, giving numbers smaller than the Voyager rotation period, and at present Saturn’s rotation period is thought to be between 10 h 32 min and 10 h 47 min, which is unsatisfactory for such a fundamental property. Here we report a period of 10 h 32 min 45 s ± 46 s, based upon an optimization approach using Saturn’s measured gravitational field and limits on the observed shape and possible internal density profiles. Moreover, even when solely using the constraints from its gravitational field, the rotation period can be inferred with a precision of several minutes. To validate our method, we applied the same procedure to Jupiter and correctly recovered its well-known rotation period.