Variations of temperature, salinity and oxygen of the Baltic Sea on interannual to decadal timescales were studied for the period from 1950 to 2020. Both observational data and the output of a numerical circulation model of the Baltic Sea were analyzed. In addition, we investigated the influence of atmospheric parameters and river runoff on the observed hydrographic variations. Variability of sea surface temperature (SST) closely follows that of air temperature in the Baltic on all timescales examined. Interannual variations of SST are significantly correlated with the North Atlantic Oscillation in most parts of the sea in winter. The entire water column of the Baltic Sea has warmed over the period 1950 to 2020. The trend is strongest in the surface layer, which has warmed by 0.3–0.4°C decade−1, noticeably stronger since the mid-1980s. In the remaining water column, characterized by permanent salinity stratification in the Baltic Sea, warming trends are slightly weaker. A decadal variability is striking in surface salinity, which is highly correlated with river runoff into the Baltic Sea. Long-term trends over the period 1950–2020 show a noticeable freshening of the upper layer in the whole Baltic Sea and a significant salinity increase below the halocline in some regions. A decadal variability was also identified in the deep layer of the Baltic Sea. This can be associated with variations in saltwater import from the North Sea, which in turn are influenced by river runoff: fewer strong saltwater inflows were observed in periods of enhanced river runoff. Furthermore, our results suggest that changes in wind speed have an impact on water exchange with the North Sea. Interannual variations of surface oxygen are strongly anti-correlated with those of SST. Likewise, the positive SST trends are accompanied by a decrease in surface oxygen. In greater depths of the Baltic Sea, oxygen decrease is stronger, which is partly related to the observed increase of the vertical salinity gradient.