The water cycle of the Baltic Sea has been estimated from the Gravity Recovery and Climate Experiment (GRACE) and the GRACE Follow-On satellite time-variable gravity measurements, and precipitation and evaporation from ERA5 atmospheric reanalysis data for the periods 06/2002 to 06/2017 and 06/2018 to 11/2021. On average, the Baltic Sea evaporates 199 ± 3 km3/year, which is overcompensated with 256 ± 6 km3/year of precipitation and 476 ± 17 km3/year of water from land. This surplus of freshwater inflow produces a salty water net outflow from the Baltic Sea of 515 ± 27 km3/year, which increases to 668 ± 32 km3/year when the Kattegat and Skagerrak straits are included. In general, the balance among the fluxes is not reached instantaneously, and all of them present seasonal variability. The Baltic net outflow reaches an annual minimum of 221 ± 79 km3/year in September and a maximum of 814 ± 94 km3/year in May, mainly driven by the freshwater contribution from land. On the interannual scale, the annual mean of the Baltic net outflow can vary up to 470 km3/year from year to year. This variability is not directly related to the North Atlantic Oscillation during wintertime, although the latter is well correlated with net precipitation in both continental drainage basins and the Baltic Sea.